【问题标题】:Image not being displayed using webcam in opencv在opencv中使用网络摄像头未显示图像
【发布时间】:2015-06-13 08:25:46
【问题描述】:

刚开始学opencv,现在卡在一个程序里。

我正在尝试运行一个仅显示来自内置网络摄像头的视频的程序。

#include <opencv2\highgui\highgui.hpp>

int main() {
cvNamedWindow("Streaming", CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCreateCameraCapture(0);
IplImage* frame;
while (1) {
    frame = cvQueryFrame(capture);
    if (!frame) break;
    cvShowImage("Streaming", frame);
    char c = cvWaitKey(33);
    if (c == 27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Streaming");
return 0;
}

一切正常,没有抛出错误,但是当我运行程序时,正在打开一个名为 Streaming 的新窗口,并且我的网络摄像头灯也打开(意味着网络摄像头已启动),但尽管如此,没有显示任何视频在打开的新窗口中。

对此有什么帮助吗?我只是这方面的初学者。

提前致谢!!

【问题讨论】:

  • 在我的机器上,这段代码运行得非常好!你有第二个摄像头来测试代码吗?或者其他使用您的网络摄像头的软件,可能是坏了。
  • 您可能对使用C++接口感兴趣,可以在here找到一个例子。

标签: c++ opencv visual-studio-2013 webcam opencv3.0


【解决方案1】:

我建议从旧的 cv 实现迁移到来自 OpenCV 2 的新方法。

看看VideoCapture 类,它有更直观的方法。例如,您可以使用方法isOpened() 来检查您的网络摄像头是否已成功激活。

here 上还有一个很好的教程,可以帮助您了解新方法。

【讨论】:

    猜你喜欢
    • 2020-03-06
    • 2012-08-08
    • 2017-05-28
    • 1970-01-01
    • 2011-02-05
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多