我使用Python(2.7)包VideoCapture。当我尝试实例化设备时,我得到一个异常:
错误:无法创建捕获图。
我使用cam = Device()
,所以没什么特别的。我有一台笔记本电脑,这个工作没有问题,另一个我得到例外。它们不同,但都有内部USB网络摄像头。
一周前它有效,但现在我只得到例外。两者都使用Windows 7。
是否有人知道如何解决这个问题,或者我如何能够获得更多信息?
感谢。
答案 0 :(得分: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 :(得分:1)
我知道这是一个非常古老的主题。第二次实例化设备后,我一直收到此错误。将代码移动到主线程为我解决了问题。