为啥用opencv捕获摄像头视频流时,突然显示框内就变灰了呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥用opencv捕获摄像头视频流时,突然显示框内就变灰了呢相关的知识,希望对你有一定的参考价值。

我在用opencv做一个项目,我用MFC做了一个对话框,单击开始按钮后,会弹出一个主框播放usb摄像头捕获的视频流。以下是我的代码
void CTest4Dlg::OnOK()

CvCapture * capture=cvCaptureFromCAM(0);
m_num=cvcamGetCamerasCount();
UpdateData(false);
ifend=1;
HWND Mywin;
cvcamSetProperty(0,CVCAM_PROP_ENABLE,CVCAMTRUE);
cvcamSetProperty(0,CVCAM_PROP_RENDER,CVCAMTRUE);
Mywin=(HWND)cvGetWindowHandle("Sky_Eye");
cvcamSetProperty(0,CVCAM_PROP_WINDOW,&Mywin);
cvcamSetProperty(0,CVCAM_PROP_CALLBACK,callback);
cvcamInit();
cvcamStart();



代码应该是没问题的,因为昨天晚上我调试的时候是好(也就是主框可以播放捕获的视频流)。今天早上继续调试程序,代码没改,但是奇怪的是主框就再也显示不出捕获的视频流了,主框里一片灰色。这是怎么回事呀,难道是摄像头坏了,但是直接用电脑上其他程序打开摄像头,摄像头是能正常工作的,这又是怎么回事呀。好着急呀,怎么会碰到这么怪异的问题,希望各位opencv大神解答下,本人不胜感激。

参考技术A 应该是opencv版本的问题,是2.20+ windows就会有问题,可以参考http://blog.csdn.net/raocong2010/article/details/6245086
不过 Cmake的安装也挺麻烦的,祝你好运!
参考技术B 你把摄像头看起了哒!本回答被提问者采纳

OpenCV 视频捕获 API

【中文标题】OpenCV 视频捕获 API【英文标题】:OpenCV Video Capturing API 【发布时间】:2012-10-03 07:49:16 【问题描述】:

我在 MSVC++ 中使用 OpenCV 来使用网络摄像头创建视频捕获 API。但我希望在拍摄视频和图像时网络摄像头的闪光灯应该关闭。我想应该有与硬件或注册表文件有关的问题。任何解决方案...

【问题讨论】:

【参考方案1】:

据我所知,您无法使用 OpenCV 控制网络摄像头的闪光灯。 如果您不想在录制时点亮灯,最简单的做法可能是在它前面放一些东西。

【讨论】:

以上是关于为啥用opencv捕获摄像头视频流时,突然显示框内就变灰了呢的主要内容,如果未能解决你的问题,请参考以下文章

[OpenCV-Python] OpenCV 中的 Gui 视频

以Windows形式捕获openCV视频[重复]

OpenCV 视频捕获 API

python_Opencv_读取视频_摄像头

Python OpenCV 用摄像头捕获视频

使用 OpenCV 捕获和保存视频