gpt4 book ai didi

Python QueryFrame 返回 None,但 C++ 绑定(bind)有效

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:18 25 4
gpt4 key购买 nike

在 Ubuntu 10.04 上的 OpenCV 2.3.1(从源代码构建)中,C++ 片段

cvNamedWindow("Camera", 1);
CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);
while (1) {
IplImage* frame = cvQueryFrame(capture);
cvShowImage("Camera", frame);
key = cvWaitKey(10);
...

将打开一个窗口并显示来 self 的 ThinkPad 相机的视频,但是

import cv2.cv as cv
# or import cv
cv.NamedWindow("Camera", 1)
capture = cv.CaptureFromCAM(-1)
while True:
frame = cv.QueryFrame(capture)
cv.ShowImage("Camera", frame)
key = cv.WaitKey(10)
...

失败(窗口为灰色),因为 cv.QueryFrame 返回 None(笔记本电脑摄像头上的灯不亮。)

知道这里可能发生了什么(以及我该如何补救)? cv.QueryFrame 在显示 .jpg 时有效,所以这似乎是相机问题。

最佳答案

通过 opencv+python+linux+webcam = cannot capture frames 找到了解决方法,我将留在这里供后代使用。

安装lib4vl(apt-get install libv4l-dev)并在构建OpenCVcmake步骤,传递 -D WITH_4VL=ON。 (我一直在关闭它。)

为什么 C++ 在没有 lib4vl 的情况下工作,但 Python 绑定(bind)要求它与网络摄像头一起工作是一个难题,也许一些 OpenCV 知识渊博的人可以解释。我很想听听解释。

关于Python QueryFrame 返回 None,但 C++ 绑定(bind)有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com