cv2 视频在处理时未使用 imshow 显示
cv2 video not showing using imshow, while being processed
有一个视频,正在处理中。该过程可以在控制台中看到作为帧处理 1/1000、2/1000 等。输出视频已经完成,但如果我想在 运行 期间查看结果,则会出现灰色屏幕 - 没有响应(screenshot of program running).
加载movi的代码:
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))
在 运行 期间显示视频的代码:
cv2.imshow('Video', frame)
如何查看进程?
更新
我使用了 while 循环,我只是不想包含太多代码。
但这里是:
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)
看看你这里有什么;我不确定您是否了解如何处理 opencv-python.
中的视频
input_movie = cv2.VideoCapture(r"test.mp4")
此处将打开 test.mp4 视频(您可能已理解)。
但是现在,您需要告诉 opencv 使用 while 函数读取该视频的每一帧并读取 input_movie
一般来说,我们是这样做的:
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
有一个视频,正在处理中。该过程可以在控制台中看到作为帧处理 1/1000、2/1000 等。输出视频已经完成,但如果我想在 运行 期间查看结果,则会出现灰色屏幕 - 没有响应(screenshot of program running).
加载movi的代码:
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))
在 运行 期间显示视频的代码:
cv2.imshow('Video', frame)
如何查看进程?
更新
我使用了 while 循环,我只是不想包含太多代码。 但这里是:
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)
看看你这里有什么;我不确定您是否了解如何处理 opencv-python.
中的视频input_movie = cv2.VideoCapture(r"test.mp4")
此处将打开 test.mp4 视频(您可能已理解)。
但是现在,您需要告诉 opencv 使用 while 函数读取该视频的每一帧并读取 input_movie
一般来说,我们是这样做的:
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