comparison scripts/display-synced-trajectories.py @ 998:933670761a57

updated code to python 3 (tests pass and scripts run, but non-executed parts of code are probably still not correct)
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Sun, 27 May 2018 23:22:48 -0400
parents 668a85c963c3
children cc5cb04b04b0
comparison
equal deleted inserted replaced
997:4f3387a242a1 998:933670761a57
1 #! /usr/bin/env python 1 #! /usr/bin/env python3
2 2
3 import sys, argparse, os.path 3 import sys, argparse, os.path
4 from datetime import datetime, timedelta 4 from datetime import datetime, timedelta
5 import numpy as np 5 import numpy as np
6 import cv2 6 import cv2
55 if len(filenames) == 0: 55 if len(filenames) == 0:
56 print('Empty filename list') 56 print('Empty filename list')
57 sys.exit() 57 sys.exit()
58 58
59 if windowNames is None: 59 if windowNames is None:
60 windowNames = ['frame{}'.format(i) for i in xrange(len(filenames))] 60 windowNames = ['frame{}'.format(i) for i in range(len(filenames))]
61 #wait = 5 61 #wait = 5
62 #if rescale == 1.: 62 #if rescale == 1.:
63 for windowName in windowNames: 63 for windowName in windowNames:
64 cv2.namedWindow(windowName, cv2.WINDOW_NORMAL) 64 cv2.namedWindow(windowName, cv2.WINDOW_NORMAL)
65 #if frameRate > 0: 65 #if frameRate > 0:
70 captures = [cv2.VideoCapture(fn) for fn in filenames] 70 captures = [cv2.VideoCapture(fn) for fn in filenames]
71 if np.array([cap.isOpened() for cap in captures]).all(): 71 if np.array([cap.isOpened() for cap in captures]).all():
72 key = -1 72 key = -1
73 ret = True 73 ret = True
74 nFramesShown = 0 74 nFramesShown = 0
75 for i in xrange(len(captures)): 75 for i in range(len(captures)):
76 if firstFrameNums[i] > 0: 76 if firstFrameNums[i] > 0:
77 captures[i].set(cv2.cv.CV_CAP_PROP_POS_FRAMES, firstFrameNums[i]) 77 captures[i].set(cv2.cv.CV_CAP_PROP_POS_FRAMES, firstFrameNums[i])
78 while ret and not cvutils.quitKey(key): 78 while ret and not cvutils.quitKey(key):
79 rets = [] 79 rets = []
80 images = [] 80 images = []
81 for i in xrange(len(captures)): 81 for i in range(len(captures)):
82 if firstFrameNums[i]+nFramesShown>=0: 82 if firstFrameNums[i]+nFramesShown>=0:
83 ret, img = captures[i].read() 83 ret, img = captures[i].read()
84 if ret and args.undistort: 84 if ret and args.undistort:
85 img = cv2.remap(img, videoSequences[i].cameraView.cameraType.map1, videoSequences[i].cameraView.cameraType.map2, interpolation=cv2.INTER_LINEAR) 85 img = cv2.remap(img, videoSequences[i].cameraView.cameraType.map1, videoSequences[i].cameraView.cameraType.map2, interpolation=cv2.INTER_LINEAR)
86 rets.append(ret) 86 rets.append(ret)
89 rets.append(False) 89 rets.append(False)
90 images.append(None) 90 images.append(None)
91 if np.array(rets).any(): 91 if np.array(rets).any():
92 #if printFrames: 92 #if printFrames:
93 print('frame shown {0}'.format(nFramesShown)) 93 print('frame shown {0}'.format(nFramesShown))
94 for i in xrange(len(filenames)): 94 for i in range(len(filenames)):
95 if rets[i]:#firstFrameNums[i]+nFramesShown>=0: 95 if rets[i]:#firstFrameNums[i]+nFramesShown>=0:
96 for obj in objects: 96 for obj in objects:
97 if obj.existsAtInstant(mergedFirstFrameNum+nFramesShown): 97 if obj.existsAtInstant(mergedFirstFrameNum+nFramesShown):
98 #print obj.num, obj.timeInterval, mergedFirstFrameNum, nFramesShown 98 #print obj.num, obj.timeInterval, mergedFirstFrameNum, nFramesShown
99 if i not in obj.projectedPositions: 99 if i not in obj.projectedPositions:
109 key = cv2.waitKey(wait) 109 key = cv2.waitKey(wait)
110 #if cvutils.saveKey(key): 110 #if cvutils.saveKey(key):
111 # cv2.imwrite('image-{}.png'.format(frameNum), img) 111 # cv2.imwrite('image-{}.png'.format(frameNum), img)
112 nFramesShown += args.step 112 nFramesShown += args.step
113 if args.step > 1: 113 if args.step > 1:
114 for i in xrange(len(captures)): 114 for i in range(len(captures)):
115 if firstFrameNums[i]+nFramesShown >= 0: 115 if firstFrameNums[i]+nFramesShown >= 0:
116 captures[i].set(cv2.cv.CV_CAP_PROP_POS_FRAMES, firstFrameNums[i]+nFramesShown) 116 captures[i].set(cv2.cv.CV_CAP_PROP_POS_FRAMES, firstFrameNums[i]+nFramesShown)
117 cv2.destroyAllWindows() 117 cv2.destroyAllWindows()
118 else: 118 else:
119 print('Video captures for {} failed'.format(filenames)) 119 print('Video captures for {} failed'.format(filenames))