OpenCV找不到网络摄像头,但可以找到奶酪

问题描述 投票:0回答:3

我的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)

和脚本B:

import cv2

def show_webcam(mirror=False):
    cam = cv2.VideoCapture(0)
    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)

给我这个错误:

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' 

这是主要问题:我以前使用过OpenCV,而当opencv找不到网络摄像头时,通常都会发生这两个错误。但是我确实有一个网络摄像头,当我打开Cheese Webcam Booth时,它可以正常工作并拍摄照片。是否可以在不重新安装OpenCV的情况下修复此问题?

我正在使用Ubuntu 18.04。

python python-3.x opencv usb webcam
3个回答
0
投票

我将检查OpenCV的安装,因为脚本A在我使用的库的相同版本和相似的操作系统(薄荷19)上都可以正常工作。

import cv2
    cap = cv2.VideoCapture(0)

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

        cv2.imshow('frame', rgb) 
        cv2.waitKey(10)

通过安装

pip install opencv-python

以对第三方模块(https://github.com/opencv/opencv/issues/8471)具有“问题”而闻名。

尝试从源代码构建和安装,通过这种方式,还将构建和链接接口模块(V4L,FFMpeg等)。


0
投票

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


0
投票

如何设置/查找正确的fps?

© www.soinside.com 2019 - 2024. All rights reserved.