我从https://stackoverflow.com/a/34588758/210342复制了代码,并与默认(内置)相机配合使用,它可以正常工作。然后,我连接了USB摄像头,并通过VLC对其进行了测试,并更改了代码以打开摄像头1
:
cam = cv2.VideoCapture(1)
我检查相机是否打开cam.isOpened()
-是-但相机未启用(其硬件指示灯LED熄灭),并且实际上我在屏幕上看到的都是黑框。 / p>
要启用USB摄像头,是否需要添加一些特殊的代码?
答案 0 :(得分:2)
您确定USB摄像头是摄像头1,我之前已经做过,因此必须使用cv2.VideoCapture(0)
答案 1 :(得分:2)
您也可以在此处引用此链接
在这里,他将下面的行更改为
cap = cv2.VideoCapture("/dev/video1") # check this
在插入相机之前,请先进入终端机
cd /dev
ls video
,然后按Tab键,如果您仅以video0
的形式找到结果,则意味着仅存在网络摄像头。video1
或video2
。 答案 2 :(得分:0)
我遇到了同样的问题,结果有时网络摄像头可以同时使用插槽 0 和 1。
所以 cam = cv2.VideoCapture(2)
为我工作。这是使用上面的 cd /dev
方法找到的。