comparison python/cvutils.py @ 216:51acf43e421a

modified the function to read and save images from a movie
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 21 Jun 2012 00:57:26 -0400
parents 966c2cd2bd9f
children b5772df11b37
comparison
equal deleted inserted replaced
215:5e2983b05d4e 216:51acf43e421a
101 ret, img = capture.read() 101 ret, img = capture.read()
102 if ret: 102 if ret:
103 cv2.imshow('frame', img) 103 cv2.imshow('frame', img)
104 key = cv2.waitKey(5) 104 key = cv2.waitKey(5)
105 105
106 def getImagesFromVideo(filename, nImages = 1): 106 def getImagesFromVideo(filename, nImages = 1, saveImage = False):
107 '''Returns nImages images from the video sequence''' 107 '''Returns nImages images from the video sequence'''
108 images = [] 108 images = []
109 capture = cv2.VideoCapture(filename) 109 capture = cv2.VideoCapture(filename)
110 if capture.isOpened(): 110 if capture.isOpened():
111 ret = False 111 ret = False
112 while len(images)<nImages: 112 numImg = 0
113 while numImg<nImages:
113 ret, img = capture.read() 114 ret, img = capture.read()
114 while not ret: 115 i = 0
116 while not ret and i<10:
115 ret, img = capture.read() 117 ret, img = capture.read()
118 i += 1
116 if img.size>0: 119 if img.size>0:
117 images.append(img) 120 numImg +=1
121 if saveImage:
122 cv2.imwrite('image{0:04d}.png'.format(numImg), img)
123 else:
124 images.append(img)
118 return images 125 return images
119 126
120 def displayTrajectories(videoFilename, objects, homography = None): 127 def displayTrajectories(videoFilename, objects, homography = None):
121 '''Displays the objects overlaid frame by frame over the video ''' 128 '''Displays the objects overlaid frame by frame over the video '''
122 capture = cv2.VideoCapture(videoFilename) 129 capture = cv2.VideoCapture(videoFilename)