comparison python/calibration-translation.py @ 303:514f6b98cd8c

fixed bug with keys from waitKey on Ubuntu 12.10
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 21 Mar 2013 14:01:46 -0400
parents b0719b3ad3db
children
comparison
equal deleted inserted replaced
302:9d88a4d97473 303:514f6b98cd8c
56 for f in filenames: 56 for f in filenames:
57 captures[f] = cv2.VideoCapture(f) 57 captures[f] = cv2.VideoCapture(f)
58 frameFilename = utils.removeExtension(f)+'-frame.png' # TODO if frame image already exists, no need to search for it again 58 frameFilename = utils.removeExtension(f)+'-frame.png' # TODO if frame image already exists, no need to search for it again
59 if not os.path.exists(frameFilename): 59 if not os.path.exists(frameFilename):
60 key = -1 60 key = -1
61 while key != cvutils.cvKeyNumbers['y']: 61 while chr(key&255) != 'y':
62 (ret, img) = captures[f].read() 62 (ret, img) = captures[f].read()
63 cv2.imshow('Image',img) 63 cv2.imshow('Image',img)
64 print('Can one see the reference points in the image? (y/n)') 64 print('Can one see the reference points in the image? (y/n)')
65 key = cv2.waitKey(0) 65 key = cv2.waitKey(0)
66 66
89 displayImg = cv2.cvtColor(images[filenames[i]], cv2.COLOR_GRAY2RGB) #.copy() 89 displayImg = cv2.cvtColor(images[filenames[i]], cv2.COLOR_GRAY2RGB) #.copy()
90 for p in imgPts: 90 for p in imgPts:
91 cv2.circle(displayImg, tuple(p+t[0]), 3, (255,0,0)) 91 cv2.circle(displayImg, tuple(p+t[0]), 3, (255,0,0))
92 cv2.imshow('Image',displayImg) 92 cv2.imshow('Image',displayImg)
93 93
94 while not(key == cvutils.cvKeyNumbers['y'] or key == cvutils.cvKeyNumbers['n']): 94 while not(chr(key&255) == 'y' or chr(key&255) == 'n'):
95 print('Are the translated points rightly located (y/n)?') 95 print('Are the translated points rightly located (y/n)?')
96 key = cv2.waitKey(0) 96 key = cv2.waitKey(0)
97 if key == cvutils.cvKeyNumbers['y']: # compute homography with translated numbers 97 if chr(key&255) == 'y': # compute homography with translated numbers
98 newImgPts = np.array([p+t[0] for p in imgPts]) 98 newImgPts = np.array([p+t[0] for p in imgPts])
99 else: 99 else:
100 print('No translation could be found automatically. You will have to manually input world reference points.') 100 print('No translation could be found automatically. You will have to manually input world reference points.')
101 101
102 if t==None or key != cvutils.cvKeyNumbers['y']:# if no translation could computed or it is not satisfactory 102 if t==None or chr(key&255) != 'y':# if no translation could computed or it is not satisfactory
103 print('Select the corresponding points in the same order as in the reference image') 103 print('Select the corresponding points in the same order as in the reference image')
104 plt.figure(1) 104 plt.figure(1)
105 plt.imshow(displayRef) 105 plt.imshow(displayRef)
106 plt.figure(2) 106 plt.figure(2)
107 plt.imshow(img) 107 plt.imshow(img)