我知道,这个主题已经有几个主题,但我的情况似乎还没有解决。我只是不能让我的程序在笔记本电脑上使用我的网络摄像头(Logitech的B910)拍摄图像。 我在Ubuntu 16.04上运行程序,该程序正在使用我正在使用的相同网络摄像头的其他计算机上运行。为了方便起见,这里有最低版本:
import cv2
device = -1
def show_webcam(mirror=False):
cam = cv2.VideoCapture(device)
print cam.isOpened(), cam.read()
while True:
ret_val, img = cam.read()
if mirror:
img = cv2.flip(img, 1)
cv2.imshow('my webcam', img)
if cv2.waitKey(1) == 27:
break # esc to quit
cv2.destroyAllWindows()
def main():
show_webcam(mirror=True)
if __name__ == '__main__':
main()
打印命令产生:False,(False,None) 从命令行运行奶酪,显示网络摄像头流,它也应该是相机内置工作。 所以我尝试了设备的-1,0,1,2和其他值,没有任何效果。我在cam = ...之后放了一个time.sleep(2),也没有结果。我对此没有更多的了解,有人可以帮忙吗?谢谢!
注意:
cv2.__file__
是' usr / local / lib / python2.7 / dist-packages / cv2 / cv2.so'
cv2.__version__
是' 3.2.0'
cv2.getBuildInformation()
这里有点长,可能有一些重要的信息吗?
答案 0 :(得分:0)
删除设备并将代码更改为cam = cv2.VideoCapture(0)
,看看它是否有效?
通常,如果你的相机正在使用奶酪,驱动程序应该没问题。
cv2.videocapture(0)
用于设备默认设置
你的计算机目前还有其他相机设备吗?