Python OpenCV: 无法显示图像
我正在尝试从一台索尼Handicam DCR-HC38摄像机捕捉视频,下面是我运行的代码,我把[-1 .. 3]传给了CaptureFromCAM这个函数。代码可以运行,但我没有得到任何图像。请问我需要以某种方式“包装”这个摄像机吗?Skype可以识别这个摄像机,但python/opencv却无法识别。我是在Windows Vista系统上运行的,不知道这是否有帮助。
import cv
cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(-1)
while True:
img = cv.QueryFrame(capture)
cv.ShowImage("camera", img)
if cv.WaitKey(10) == 27:
break
2 个回答
3
我不确定你是否解决了这个问题。不过我找到的解决办法是检查一下OpenCv正在尝试访问哪个驱动程序。我有v4l1和v4l2两个驱动,但在我的联想x200(内置摄像头)上,只有使用gstreamer编解码器和v4l2驱动才能访问设备/dev/video0,系统是ubuntu 10.10。所以我需要从源代码重新编译OpenCv,首先要应用一个补丁,补丁地址是:
把补丁解压到你的opencv根目录下,然后打开终端,进入opencv根目录,接着执行以下命令:
patch -p0 <OpenCV-2.0.0-link-v4l2.patch
然后:
make
make install
现在你的opencv库应该可以使用v4l2驱动了,希望这对某些人有帮助。
3
试着增加一下cv.WaitKey的延迟时间。