在opencv中使用网络摄像头未显示图像
Posted
技术标签:
【中文标题】在opencv中使用网络摄像头未显示图像【英文标题】:Image not being displayed using webcam in 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找到一个例子。 【参考方案1】:我建议从旧的 cv
实现迁移到来自 OpenCV 2
的新方法。
看看VideoCapture 类,它有更直观的方法。例如,您可以使用方法isOpened()
来检查您的网络摄像头是否已成功激活。
here 上还有一个很好的教程,可以帮助您了解新方法。
【讨论】:
以上是关于在opencv中使用网络摄像头未显示图像的主要内容,如果未能解决你的问题,请参考以下文章