简体   繁体   中英

cv2 video not showing using imshow, while being processed

There is a video, that is being processed. The process can be seen in console as frame processing 1/1000, 2/1000 etc. The output video has done ok, but if i want to see the results during the run, there is a grey screen - not responding ( screenshot of program running ).

Code, where movi is loaded:

input_movie = cv2.VideoCapture(r"test.mp4")
length = int(input_movie.get(cv2.CAP_PROP_FRAME_COUNT))
fourcc = cv2.VideoWriter_fourcc(*'XVID')
output_movie = cv2.VideoWriter('myoutput_01.avi', fourcc, 29.97, (480, 360))

Code to show video duriing the run:

 cv2.imshow('Video', frame)

How to see the process?

UPDATE

I used the while cycle, i just didn't want to include much code. But here it is:

while True:
    ret, frame = input_movie.read()
    frame_number += 1
    
    if not ret:
        break
   
    cv2.imshow('Video', frame)

    rgb_frame = frame[:, :, ::-1]

    face_locations = face_recognition.face_locations(rgb_frame)
    face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)  

Looking at what you have here; I'm not sure you understood how to deal with videos in opencv-python.

input_movie = cv2.VideoCapture(r"test.mp4")

here will open the test.mp4 video (as maybe you understood). But now, you'll need to tell to opencv to read each frame of this video using a while function and read input_movie

In general, this is how we do:


input_movie = cv2.VideoCapture(r"test.mp4")

while (input_movie.isOpened()):
    ret, frame = input_movie.read() #  here we extract the frame

    cv2.imshow('Video',frame) # here we display it

    if cv2.waitKey(1) & 0xFF == ord('q'): #  by press 'q' you quit the process
        break

input_movie.release() #  remove input_movie from memory
cv2.destroyAllWindows() # destroy all opencv windows

more informations here https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM