VideoCapture 似乎不适用于 Debian - opencv 3.2

Posted

技术标签:

【中文标题】VideoCapture 似乎不适用于 Debian - opencv 3.2【英文标题】:VideoCapture doesn't seem to work on Debian - opencv 3.2 【发布时间】:2017-09-23 15:03:45 【问题描述】:

Videocapture demo

import numpy as np import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

我的 Debian 计算机上的视频捕获演示 (opencv 3.2.0) 无法正常工作,我不知道如何修复它。我在 windows 上试了一下,效果很好。

我都尝试了 VideoCapture (-1) VideoCapture (0) 但这似乎不起作用..

我该如何解决?谢谢你

OpenCV 错误:断言失败 (scn == 3 || scn == 4) 在 cvtColor, 文件中 /io/opencv/modules/imgproc/src/color.cpp, 第 9748 行 Traceback(最近调用 最后):文件“ok.py”,第 11 行,在 灰色 = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.error: /io/opencv/modules/imgproc/src/color.cpp:9748: 错误:(-215) scn == 3 || scn == 4 英寸 函数cvtColor

$ v4l2-ctl --list-devices 
UVC Camera (046d:0809)(usb-0000:00:14.0-3):     /dev/video1

USB2.0 HD UVC WebCam (usb-0000:00:14.0-5):  /dev/video0

我试过了

ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv  

并且网络摄像头工作..

【问题讨论】:

尝试在命令行使用ffplay直接捕获。 @Vorac 网络摄像头可以工作,但是使用 opencv 示例脚本,给我一个错误 retframecap.read() 调用后的值是多少? ret=假帧 = 无 你是如何安装 OpenCV 的?使用pip? 【参考方案1】:

为什么是VideoCapture(1)?您的系统上有两个摄像头吗?

你测试过

ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv 

/dev/video0 上,所以它应该是VideoCapture(0)

【讨论】:

抱歉,我已经测试过 VideoCapture(0) 和 VideoCapture(1) 是的,我有 2 个网络摄像头,0:内置摄像头,1:usb-webcam 罗技 你是用ffmpeg构建opencv的吗?如果是的话,这真的很奇怪,因为opencv会调用ffmpeg来处理videoIO。

以上是关于VideoCapture 似乎不适用于 Debian - opencv 3.2的主要内容,如果未能解决你的问题,请参考以下文章

为啥 CORS 似乎不适用于 POST?

NSURLSessionConfiguration timeoutIntervalForRequest 似乎不适用于后台会话

NSBackgroundColorAttributeName 似乎不适用于 iOS 10.3

pushViewController 似乎不适用于情节提要和 QLPreviewController

contentInsetAdjustmentBehavior 似乎不适用于子 UIControllerView 的 UIScrollview

Spring Data REST 似乎不适用于 elasticsearch