Python OpenCV视频捕获(文件)don';t工作窗口
我正在使用此script.py:Python OpenCV视频捕获(文件)don';t工作窗口,python,opencv,video-capture,Python,Opencv,Video Capture,我正在使用此script.py: import cv2,numpy as np face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default1.xml') cap = cv2.VideoCapture('video.flv') ret,frame = cap.read() print ret while (cap.isOpened()): ret,frame = cap.read() img
import cv2,numpy as np
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default1.xml')
cap = cv2.VideoCapture('video.flv')
ret,frame = cap.read()
print ret
while (cap.isOpened()):
ret,frame = cap.read()
img = frame
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.5, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('video',img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
我已使用bat脚本将ffmpeg添加到路径:
set PATH=%PATH%;C:\opencv\sources\3rdparty\ffmpeg
我曾尝试将文件格式更改为.avi、.flv、.mp4,但仍然不起作用
我没有任何错误,但每次都是'ret=False'。如果没有关于错误的更多信息,很难判断到底是什么错误,但您可以尝试以下解决方案:
- 使用ffmpeg重建OpenCV。如果您使用的是Mac OSX,您只需要使用
(或类似命令)-我现在无法检查,但brew安装opencv--with ffpmeg
将给出答案。在Windows上可能不需要,但您可以尝试brew选项opencv
- 如果您使用预构建的二进制文件,请下载源代码(最新的稳定版本-现在是2.4.10,我不建议您使用3.0.0测试版)并构建它(使用ffpmeg)。使用构建的二进制文件(您可能需要使用
(最有可能是python_version/Lib/或python_version/Lib/site软件包)将所有dll文件复制到目录中)。说明是“通过从源文件创建自己的库进行安装”的一部分。请确保选中以下选项:cv2.pyd
(WITH\u FFMPEG
在windows上也可能有用)以及“BUILD\u opencv\u python”和配置python(这在教程中有所描述-您可能更喜欢使用WITH\u DSHOW
而不是pip
)。构建解决方案后,在setuptools
中,您应该找到opencv\u build/lib/[Release/Debug]
、cv2.lib
和cv2.pyd
文件以及cv2.ilk
应该是opencv_…version.dll文件(…-模块名称,版本-版本号)。将所有这些文件(从opencv\u build/bin/[Release/bin]
lib/[Debug/Release]'和
bin/[Debug/Release]`)复制到您当前拥有cv2.pyd的文件夹中