annotate python/calibration-translation.py @ 159:115f7f90286d

updated calibration-translation and added function to convert point correspondences
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 12 Sep 2011 16:38:47 -0400
parents 2d7c6d767a39
children b0719b3ad3db
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
1 #!/usr/bin/env python
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
2
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
3 import sys
159
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
4 import os
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
5
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
6 import matplotlib.mlab as pylab
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
7 import matplotlib.pyplot as plt
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
8 import numpy as np
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
9
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
10 import cv2
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
11 import utils
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
12 import cvutils
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
13
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
14 # development for the data collected and stabilized by Paul in Summer 2011
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
15 # todo test other features
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
16
158
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
17 options = utils.parseCLIOptions('Program to re-calibrate an initial calibration based on point correspondences by adjusting the points to slightly different viewpoints, where all the points are still visible\n\nUsage: ', ['ref_video=', 'ref_points='], sys.argv, ['mask_img='])
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
18 #, 'ref_homography='
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
19
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
20 referenceVideoFilename=options['--ref_video']#'1440-1459_Mercalli.avi'
158
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
21 #referenceHomographyFilename=options['--ref_homography']#'1440-1459_Mercalli-homography.txt'
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
22 points = np.loadtxt(options['--ref_points'], dtype=np.float32) # '1440-1459_Mercalli-point-correspondences.txt'
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
23 wldPts = points[:2,:].T
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
24 imgPts = points[2:,:].T
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
25
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
26 def translatePoints(points, t):
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
27 'points is Nx2, t is [x,y]'
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
28 translated = points.copy()
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
29 for i in xrange(2):
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
30 translated[i] += t[i]
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
31 return translated
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
32
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
33 filenames = [f for f in utils.listfiles('.','avi')] # directory to examine should be current directory
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
34
158
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
35 #referenceHomography = np.loadtxt(referenceHomographyFilename)
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
36 referenceVideoIndex = filenames.index(referenceVideoFilename)
159
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
37 indices = set(range(len(filenames)))
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
38 indices.discard(referenceVideoIndex)
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
39
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
40 images = {}
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
41 #features = {}
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
42 captures = {}
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
43
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
44 captures[referenceVideoFilename] = cv2.VideoCapture(referenceVideoFilename)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
45 (ret, img) = captures[referenceVideoFilename].read()
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
46 images[referenceVideoFilename] = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
47
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
48 if '--mask_img' in options.keys():
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
49 maskImg = cv2.imread('mask.png', cv2.CV_LOAD_IMAGE_GRAYSCALE) # todo add possibility to look in the whole image if not providing mask
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
50 else:
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
51 maskImg = np.ones(images[referenceVideoFilename].shape, dtype=np.uint8)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
52
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
53 referenceFeatures = cv2.goodFeaturesToTrack(images[referenceVideoFilename], 1000, 0.02, 2, useHarrisDetector = True, mask=maskImg)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
54 displayRef = cv2.cvtColor(images[referenceVideoFilename], cv2.COLOR_GRAY2RGB)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
55 for j,p in enumerate(imgPts):
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
56 cv2.circle(displayRef, tuple(p), 3, (255,0,0))
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
57 cv2.putText(displayRef, str(j+1), tuple(p), cv2.FONT_HERSHEY_PLAIN, 1, (255,0,0))
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
58 cv2.imshow('Reference',displayRef)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
59
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
60 for f in filenames: # get suitable image references for each video
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
61 captures[f] = cv2.VideoCapture(f)
159
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
62 frameFilename = utils.removeExtension(f)+'-frame.png' # TODO if frame image already exists, no need to search for it again
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
63 if not os.path.exists(frameFilename):
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
64 key = -1
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
65 while key != cvutils.cvKeyNumbers['y']:
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
66 (ret, img) = captures[f].read()
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
67 cv2.imshow('Image',img)
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
68 print('Can one see the reference points in the image? (y/n)')
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
69 key = cv2.waitKey(0)
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
70
159
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
71 images[f] = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
72 cv2.imwrite(frameFilename, img)
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
73 else:
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
74 images[f] = cv2.imread(frameFilename, cv2.CV_LOAD_IMAGE_GRAYSCALE)
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
75 #features[f] = cv2.goodFeaturesToTrack(images[f], 1000, 0.02, 2, useHarrisDetector = True, mask=maskImg) # todo put parameters on the command line ?
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
76 # goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance[, corners[, mask[, blockSize[, useHarrisDetector[, k]]]]])
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
77 # display features
159
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
78 # if False:
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
79 # display = img.copy()#cv2.cvtColor(images[f], cv2.COLOR_GRAY2RGB) #.copy()
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
80 # for p in features[f]:
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
81 # cv2.circle(display, tuple(p[0]), 3, (255,0,0))
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
82 # cv2.imshow('Reference',display)
115f7f90286d updated calibration-translation and added function to convert point correspondences
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 158
diff changeset
83 # cv2.waitKey()
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
84
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
85 plt.close('all')
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
86
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
87 for i in indices:
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
88 t = cvutils.computeTranslation(images[filenames[referenceVideoIndex]], images[filenames[i]], referenceFeatures, 100, 10)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
89 print filenames[i],t
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
90 key = -1
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
91 if t != None: # show translated points and ask if ok
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
92 displayImg = cv2.cvtColor(images[filenames[i]], cv2.COLOR_GRAY2RGB) #.copy()
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
93 for p in imgPts:
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
94 cv2.circle(displayImg, tuple(p+t[0]), 3, (255,0,0))
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
95 cv2.imshow('Image',displayImg)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
96
158
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
97 while not(key == cvutils.cvKeyNumbers['y'] or key == cvutils.cvKeyNumbers['n']):
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
98 print('Are the translated points rightly located (y/n)?')
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
99 key = cv2.waitKey(0)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
100 if key == cvutils.cvKeyNumbers['y']: # compute homography with translated numbers
158
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
101 newImgPts = np.array([p+t[0] for p in imgPts])
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
102 else:
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
103 print('No translation could be found automatically. You will have to manually input world reference points.')
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
104
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
105 if t==None or key != cvutils.cvKeyNumbers['y']:# if no translation could computed or it is not satisfactory
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
106 # image should be right to get points
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
107 # todo save image
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
108 print('Select the corresponding points in the same order as in the reference image')
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
109 plt.figure(1)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
110 plt.imshow(displayRef)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
111 plt.figure(2)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
112 plt.imshow(img)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
113 plt.show()
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
114 newImgPts = np.array([list(p) for p in plt.ginput(n=wldPts.shape[0], timeout=-1)], dtype = np.float32)
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
115
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
116 homography, mask = cv2.findHomography(newImgPts, wldPts) # method=0, ransacReprojThreshold=3
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
117 print homography
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
118 np.savetxt(utils.removeExtension(filenames[i])+'-homography.txt',homography)
158
2d7c6d767a39 corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 157
diff changeset
119 np.savetxt(utils.removeExtension(filenames[i])+'-point-correspondences.txt', np.append(wldPts.T, newImgPts.T, axis=0))
157
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
120
3aab19947a34 added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
121 cv2.destroyAllWindows()