【发布时间】:2017-08-02 09:24:54
【问题描述】:
我知道,这个话题已经有几个主题了,不过我的情况似乎还没有解决。我只是无法让我的程序在笔记本电脑上使用我的网络摄像头(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()这里有点长,请问有什么重要信息吗?
【问题讨论】:
-
为什么 device = -1 ?如果你只有一个摄像头,通常应该是 0,1 或 2 ..否则
-
-1 分配它找到的第一个设备。我也试过 0,1,2,同样的错误。
标签: python-2.7 opencv computer-vision webcam