view scripts/rescale-homography.py @ 728:4e89341edd29 dev

added the capability to enforce a minimum cluster size and re-assign the indicators to other clusters
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 10 Aug 2015 17:51:49 -0400
parents 8f8f4375e441
children 56cc8a1f7082
line wrap: on
line source

#! /usr/bin/env python

import sys

import matplotlib.pyplot as plt
import numpy as np
import cv2

import cvutils
import utils

if len(sys.argv) < 4:
   print('Usage: {} homography_filename original_size new_size (size can be width or height)'.format(sys.argv[0]))
   sys.exit()

homography = np.loadtxt(sys.argv[1])

imgPoints = np.array([[10,10],
                      [10,20],
                      [20,20],
                      [20,10]])

wldPoints = cvutils.projectArray(homography, imgPoints.T).T

newSize = float(sys.argv[3])
originalSize = float(sys.argv[2])
imgPoints = imgPoints*newSize/originalSize

newHomography, mask = cv2.findHomography(imgPoints, wldPoints)

np.savetxt(sys.argv[1]+'.new', newHomography)