视频捕获:捕获图表错误
我在用Python(2.7)这个叫VideoCapture的库。每次我想创建一个设备的时候,就会出现一个错误:
错误:无法创建捕捉图。
我用的是cam = Device()
,所以也没什么特别的地方。我有一台笔记本电脑可以正常工作,另一台却总是出现这个错误。它们虽然不同,但都是内置的USB摄像头。
一周前这个功能还好好的,现在却总是出错。两台电脑都是Windows 7系统。
有没有人知道怎么解决这个问题,或者我可以怎么获取更多信息来找出问题所在?
谢谢。
2 个回答
1
我知道这个讨论已经很久了。我在第二次创建设备的时候总是遇到这个错误。把代码放到主线程里就解决了我的问题。
1
我觉得这个错误可能有很多原因。
第一次遇到这个问题时,是因为我同时在运行另一个程序。关掉那个程序后,问题就解决了。
第二次遇到这个问题,是因为我试着同时使用两个摄像头,想做一些立体视觉的实验。为了避免这个问题,我在两次捕捉之间加了个延迟,这样就能正常运行了。
import time
from VideoCapture import Device
cam0 = Device(0)
cam1 = Device(1)
for i in xrange(30):
cam0.saveSnapshot('video/image0_%d.jpg' % i, timestamp=1)
time.sleep(0.05)
cam1.saveSnapshot('video/image1_%d.jpg' % i, timestamp=1)
time.sleep(0.1)
我认为这个错误的原因(以及你可能在其他笔记本上没有遇到它的原因)是,有些驱动程序似乎不太能处理同时访问。当你快速从设备驱动程序获取数据时,有些数据结构因为锁定不够而出现混乱。