Mercurial Hosting > traffic-intelligence
annotate python/calibration-translation.py @ 158:2d7c6d767a39
corrected and improved calibration-translation.py
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 09 Sep 2011 19:23:11 -0400 |
parents | 3aab19947a34 |
children | 115f7f90286d |
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 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
4 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
5 import matplotlib.mlab as pylab |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
6 import matplotlib.pyplot as plt |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
7 import numpy as np |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
8 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
9 import cv2 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
10 import utils |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
11 import cvutils |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
12 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
13 # 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
|
14 # todo test other features |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
15 |
158
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
16 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
|
17 #, 'ref_homography=' |
157
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
18 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
19 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
|
20 #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
|
21 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
|
22 wldPts = points[:2,:].T |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
23 imgPts = points[2:,:].T |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
24 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
25 def translatePoints(points, t): |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
26 '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
|
27 translated = points.copy() |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
28 for i in xrange(2): |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
29 translated[i] += t[i] |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
30 return translated |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
31 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
32 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
|
33 |
158
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
34 #referenceHomography = np.loadtxt(referenceHomographyFilename) |
157
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
35 referenceVideoIndex = filenames.index(referenceVideoFilename) |
158
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
36 indices = set([1, 2, 3, 4, 5, 6, 7, 9, 10, 11])#set(range(len(filenames))) |
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
37 #indices.discard(referenceVideoIndex) |
157
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
38 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
39 images = {} |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
40 #features = {} |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
41 captures = {} |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
42 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
43 captures[referenceVideoFilename] = cv2.VideoCapture(referenceVideoFilename) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
44 (ret, img) = captures[referenceVideoFilename].read() |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
45 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
|
46 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
47 if '--mask_img' in options.keys(): |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
48 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
|
49 else: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
50 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
|
51 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
52 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
|
53 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
|
54 for j,p in enumerate(imgPts): |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
55 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
|
56 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
|
57 cv2.imshow('Reference',displayRef) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
58 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
59 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
|
60 captures[f] = cv2.VideoCapture(f) |
158
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
61 # TODO if frame image already exists, no need to search for it again |
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
62 key = -1 |
157
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
63 while key != cvutils.cvKeyNumbers['y']: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
64 (ret, img) = captures[f].read() |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
65 cv2.imshow('Image',img) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
66 print('Can one see the reference points in the image? (y/n)') |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
67 key = cv2.waitKey(0) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
68 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
69 images[f] = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) |
158
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
70 cv2.imwrite(utils.removeExtension(f)+'-frame.png', img) |
157
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
71 #images[f] = cv2.imread(f, cv2.CV_LOAD_IMAGE_GRAYSCALE) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
72 #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
|
73 # 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
|
74 # display features |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
75 if False: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
76 display = img.copy()#cv2.cvtColor(images[f], cv2.COLOR_GRAY2RGB) #.copy() |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
77 for p in features[f]: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
78 cv2.circle(display, tuple(p[0]), 3, (255,0,0)) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
79 cv2.imshow('Reference',display) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
80 cv2.waitKey() |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
81 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
82 plt.close('all') |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
83 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
84 for i in indices: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
85 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
|
86 print filenames[i],t |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
87 key = -1 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
88 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
|
89 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
|
90 for p in imgPts: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
91 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
|
92 cv2.imshow('Image',displayImg) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
93 |
158
2d7c6d767a39
corrected and improved calibration-translation.py
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
157
diff
changeset
|
94 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
|
95 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
|
96 key = cv2.waitKey(0) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
97 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
|
98 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
|
99 else: |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
100 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
|
101 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
102 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
|
103 # 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
|
104 # todo save image |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
105 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
|
106 plt.figure(1) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
107 plt.imshow(displayRef) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
108 plt.figure(2) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
109 plt.imshow(img) |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
110 plt.show() |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
111 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
|
112 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
113 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
|
114 print homography |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
115 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
|
116 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
|
117 |
3aab19947a34
added utility to recalibrate images with similar viewpoints
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
118 cv2.destroyAllWindows() |