def replayVideoStream(filename, stopAt=None): "revise only logged video data" # convert navdata to video if necessary if "navdata" in filename: navdata2video(filename, TMP_VIDEO_FILE) filename = TMP_VIDEO_FILE cap = cv2.VideoCapture(filename) ret, image = cap.read() index = 0 while ret: if stopAt is None or index == stopAt: result = detectRoundel(image, debug=True) print index, result pause = 10 if result: pause = 1000 if index == stopAt: pause = 0 cv2.imshow('image', image) key = cv2.waitKey(pause) if key >= 0: cv2.imwrite("tmp.jpg", image) break ret, image = cap.read() index += 1 else: key = cv2.waitKey(0)
def replayVideoStream( filename, stopAt=None ): "revise only logged video data" # convert navdata to video if necessary if "navdata" in filename: navdata2video( filename, TMP_VIDEO_FILE ) filename = TMP_VIDEO_FILE cap = cv2.VideoCapture( filename ) ret, image = cap.read() index = 0 while ret: if stopAt is None or index == stopAt: result = detectRoundel( image, debug=True ) print index, result pause = 10 if result: pause = 1000 if index == stopAt: pause = 0 cv2.imshow('image', image) key = cv2.waitKey(pause) if key >= 0: cv2.imwrite( "tmp.jpg", image ) break ret, image = cap.read() index += 1 else: key = cv2.waitKey(0)
capColors.append( [int(x) for x in line.split()] ) return capColors if __name__ == "__main__": if len(sys.argv) < 2: print __doc__ sys.exit(2) capColors = loadColors( sys.argv[1] ) filename = sys.argv[2] # convert navdata to video if necessary from video import navdata2video TMP_VIDEO_FILE = "video.bin" if "navdata" in filename: navdata2video( filename, TMP_VIDEO_FILE ) filename = TMP_VIDEO_FILE cap = cv2.VideoCapture( filename ) ret, img = cap.read() cv2.imshow('image', img) cv2.setMouseCallback("image", onmouse) pause = 100 if filename.endswith(".jpg"): pause = 0 while ret: cv2.imshow('image', img) cv2.imshow('result', detectTwoColors( img, capColors )[0]) c = cv2.waitKey( pause ) if c == 27: # ESC break