我是python openCV的新手,从openCV页面找到了这段代码;
import cv2
cap = cv2.VideoCapture('Megamind.avi')
while (cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('MMR3', gray)
if cv2.waitkey(25) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()*
试图运行它,但它给出了错误,在完成一些挖掘后,我替换了这一行: “cap = cv2.VideoCapture('Megamind.avi')”这一行:
“cap = cv2.VideoCapture('Megamind.avi',cv2.CAP_FFMPEG)”
程序运行无误,但未显示视频窗口(“MMR3”)。
**我使用python 2.7.13与MacO Sierra上运行的opencv3。 ** Megamind.avi位于代码所在的同一文件夹中
答案 0 :(得分:1)
你的cv2.imshow
必须在whille循环中。如果你的cv2.imshow()
在环路外面,那么它只会显示你视频的最后一帧。将代码更改为以下代码
import cv2
cap = cv2.VideoCapture('Megamind.avi')
while (cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('MMR3', gray)
if cv2.waitkey(25) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()