首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

MFC opencv 关于摄像头的初学者有关问题

2012-04-17 
MFCopencv 关于摄像头的菜鸟问题!我用MFC显示USB摄像头,关键代码如下:在初始化的时候OnInitDialog()中:{if

MFC opencv 关于摄像头的菜鸟问题!
我用MFC显示USB摄像头,关键代码如下:
在初始化的时候
OnInitDialog()中:

if(!(pCapture=cvCaptureFromCAM(-1)))
{
AfxMessageBox("不能打开摄像头");
}
else
{
SetTimer(0,100,NULL);
}

  在OnTimer中:
  {
  pFrame=cvQueryFrame(pCapture);
CDC *pDC=GetDlgItem(IDC_STATIC22)->GetDC();
HDC hDC=pDC->GetSafeHdc();
cimg.CopyOf(pFrame,1);
//获得视频显示窗口
GetDlgItem(IDC_STATIC22)->GetClientRect(&rect);
cimg.DrawToHDC(hDC,&rect);
::ReleaseDC(this->m_hWnd,hDC);
  }
开始运行时还可以,可是如果最小化或者最大化窗口的时候程序有时候会死,有时候不死,这是怎么回事啊?该怎么解决? 我是菜鸟!求给力回答!

[解决办法]
一秒钟10张图片显示 , 在最大化最小化窗体的时候 ,IDC_STATIC22对应控件的 getclientrect获得的rect将会变化 (这要看你怎么处理的最大化最小化消息了)感觉应该是这个引起的…关注+ 思考
[解决办法]
你加一下判断 , 如果是发送最小化消息的情况 , 不进行绘制 , 看看这种情况下多尝试几次最小化程序会不会死掉!~
[解决办法]
猜不出。关键是有时候死有时候不死,贴代码吧!~说不定是什么原因,不过感觉最有可能的就是,你最大化最小化的时候有消息或者变量没有处理好,貌似最大化最小化应该不影响与摄像头的通讯啊!~

热点排行
Bad Request.