Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OpenCV找不到网络摄像头,但Cheese可以_Python_Python 3.x_Opencv_Usb_Webcam - Fatal编程技术网

Python OpenCV找不到网络摄像头,但Cheese可以

Python OpenCV找不到网络摄像头,但Cheese可以,python,python-3.x,opencv,usb,webcam,Python,Python 3.x,Opencv,Usb,Webcam,我的opencv安装最近停止工作,原因我不确定。我有两个脚本,它们都会给出不同的错误: 脚本A: import cv2 cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA) cv2.imshow('frame', rgb) 给我这个错误: select timeout VIDIOC_DQBUF: Res

我的opencv安装最近停止工作,原因我不确定。我有两个脚本,它们都会给出不同的错误:

脚本A:

import cv2
cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)

    cv2.imshow('frame', rgb) 
给我这个错误:

select timeout
VIDIOC_DQBUF: Resource temporarily unavailable
Traceback (most recent call last):
  File "camera.py", line 19, in <module>
    rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)
cv2.error: OpenCV(4.0.1-dev) /home/me/Packages/opencv/modules/imgproc/src/color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
import cv2
cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)

    cv2.imshow('frame', rgb)
select timeout
VIDIOC_DQBUF: Resource temporarily unavailable
Traceback (most recent call last):
  File "camera3.py", line 26, in <module>
    main()
  File "camera3.py", line 22, in main
    show_webcam(mirror=True)
  File "camera3.py", line 15, in show_webcam
    cv2.imshow('my webcam', img)
cv2.error: OpenCV(4.0.1-dev) /home/david/Packages/opencv/modules/highgui/src/window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow' 
给我这个错误:

select timeout
VIDIOC_DQBUF: Resource temporarily unavailable
Traceback (most recent call last):
  File "camera.py", line 19, in <module>
    rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)
cv2.error: OpenCV(4.0.1-dev) /home/me/Packages/opencv/modules/imgproc/src/color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
import cv2
cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)

    cv2.imshow('frame', rgb)
select timeout
VIDIOC_DQBUF: Resource temporarily unavailable
Traceback (most recent call last):
  File "camera3.py", line 26, in <module>
    main()
  File "camera3.py", line 22, in main
    show_webcam(mirror=True)
  File "camera3.py", line 15, in show_webcam
    cv2.imshow('my webcam', img)
cv2.error: OpenCV(4.0.1-dev) /home/david/Packages/opencv/modules/highgui/src/window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow' 
选择超时
VIDIOC_DQBUF:资源暂时不可用
回溯(最近一次呼叫最后一次):
文件“camera3.py”,第26行,在
main()
文件“camera3.py”,第22行,主
显示网络摄像头(镜像=真)
show_网络摄像头中第15行的文件“camera3.py”
cv2.imshow(“我的网络摄像头”,img)
cv2.error:OpenCV(4.0.1-dev)/home/david/Packages/OpenCV/modules/highgui/src/window.cpp:352:error:(-215:断言失败)函数“imshow”中的size.width>0和size.height>0
主要问题是:我以前使用过OpenCV,当OpenCV找不到摄像头时,这两个错误通常都会发生。但我确实有一个网络摄像头,当我打开Cheese网络摄像头时,它工作正常,拍照也很好。有没有办法在不重新安装OpenCV的情况下修复此问题


我在Ubuntu 18.04上

我将回顾OpenCV的安装,因为脚本A在相同版本的库和类似的操作系统(Mint 19)上运行得很好

安装通过

pip install opencv-python
以第三方模块出现“问题”而闻名()


尝试从源代码构建和安装,这样也可以构建和链接接口模块(V4L、FFMpeg等)

两种可能的解决方案:1)设置正确的fps;2) 升级到更新版本的opencv for python。

在这两种情况下,相机都已激活,但现在已被占用。所以现在,在主要的“while”循环中,尝试推杆

while(True):
      ret_val, img = cap.read()
      if(ret_val==False)
            cap.open(0)
            continue
      ...

我仍然认为应该存在一些依赖性问题。检查你的cmake日志,也许在第三次执行之前运行这个家伙()。我已经这样做了,现在它给我一个cuda/cudnn错误。你尝试过
cv2.VideoCapture(1)
?脚本本身很好,上周就运行了。我不知何故损坏了我的opencv安装。我只是这样做了: