2011-05-06 101 views
0

我使用Python(2.7)包VideoCapture。当我尝试实例化设备,我得到一个异常:VideoCapture:捕捉图形错误

Error: Capture Graph could not be created.

我用cam = Device(),所以没有什么特别的存在。我有一台笔记本电脑在没有问题的情况下工作,另一台笔记本电脑在那里获得例外。他们是不同的,但都有内置的USB摄像头。

一个星期前,它的工作,但现在我只得到例外。两者都使用Windows 7.

有没有人有一个想法如何解决这个问题,或者我怎么能得到更多的信息什么是错的?

谢谢。

回答

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) 

我认为这个错误(为什么你可能没有遇到过它在你的笔记本电脑等)的原因,是一些司机似乎不处理的同时访问非常好。当您尝试快速连续从设备驱动程序获取数据时,某些锁定不足的数据结构会混乱。

1

我知道这是一个非常古老的线程。第二次实例化设备后,我不断收到此错误。将代码移到主线程中解决了我的问题。