首页 文章

无法在Ubuntu 16.04(主机)上的OpenCV中使用集成网络摄像头[重复]

提问于
浏览
0

这个问题在这里已有答案:

Ubuntu 16.04上OpenCV中的集成网络摄像头正在抛出以下错误 . 我用不同的程序检查了奶酪,它显示了静止的图像和视频,因此看起来这不是相机本身的问题 .

我用来测试的代码:

import cv2
    import numpy as np
    import time
    cam = cv2.VideoCapture(2)
    if not cam.isOpened():
     print('Cannot open camera')

    while True:
     ret,frame = cam.read()
     cv2.imshow('webcam', frame)
     if cv2.waitKey(1)&0xFF == ord('q'):
      break

   cam.release()
   cv2.destroyAllWindows()

错误 :

无法打开相机(如果不是cam.isOpened():)则从脚本反馈 . OpenCV错误:imshow中的断言失败(size.width> 0 && size.height> 0),文件/io/opencv/modules/highgui/src/window.cpp,第325行Traceback(最近一次调用最后一次):文件“Video_test” .py“,第13行,在cv2.imshow('webcam',frame)中cv2.error:/io/opencv/modules/highgui/src/window.cpp:325:错误:(-215)size.width> 0函数imshow中&& size.height> 0

任何帮助,将不胜感激 . 谢谢!

1 回答

  • 0

    使用 cam.open() 尝试以下操作:

    import cv2
    import numpy as np
    import time
    
    cam = cv2.VideoCapture(2)  # camera index (default = 0) (added based on Randyr's comment).
    
    print 'cam has image : %s' % cam.read()[0] # True = got image captured. 
                                               # False = no pics for you to shoot at.
    
    # Lets check start/open your cam!
    if cam.read() == False:
        cam.open()
    
    if not cam.isOpened():
        print('Cannot open camera')
    
    while True:
        ret,frame = cam.read()
        cv2.imshow('webcam', frame)
        if cv2.waitKey(1)&0xFF == ord('q'):
            break
    
    cam.release()
    cv2.destroyAllWindows()
    

    你也可以使用 cam = cv2.VideoCapture(value) 值...现在设置为2 . 尝试范围......例如 . 1-10 .

相关问题