I want to read input from camera and append frame in a list, display the frame from list. The code takes much time to read a frame and display it, after appending into the list.
def test(source_file): ImagesSequence=[] i=0 capture = VideoCapture(source_file) while(1): ret, frame = capture.read() while(True): imshow('Input', frame) ImagesSequence.append(frame) imshow('Output',ImagesSequence[i].astype(np.uint8)) i=i+1 if cv2.waitKey(60) & 0xFF == ord('q'): break return ImagesSequence test(0)
Advertisement
Answer
As Christoph pointed out, you have an actual infinite loop running in the program, removing it will fix your program.
def test(source_file): ImagesSequence=[] i=0 capture = cv2.VideoCapture(source_file) while True: ret, frame = capture.read() cv2.imshow('Input', frame) ImagesSequence.append(frame) cv2.imshow('Output',ImagesSequence[i].astype(np.uint8)) i=i+1 if cv2.waitKey(1) & 0xFF == ord('q'): break return ImagesSequence test(0)