您的位置:首页 > 运维架构

遇到的问题------基于OPENCV的车流量识别

2013-11-14 16:43 316 查看
1、如何得到 cvNamedWindow创建的窗口的句柄?答:使用 HWND hWnd = (HWND) cvGetWindowHandle(windowName);     //windowName 就是窗口名
2、如何检测一个窗口是否还存在?答:使用   BOOL IsWindow(HWND hWnd); //参数为窗口的句柄 当该句柄标识的是一个已存在的窗口,返回非零值;否则,返回零值。
3、在MFC中,如何结束一个线程?答:比较安全的方式,让函数返回一个返回值。例如:在要结束的地方添加代码return 0.
4、在MFC中,尽管使用了多线程,在第一次调用cvCaptureFromFile时可以打开文件,再次调用时就无法打开文件,为什么?答:因为多线程使用前必须加一句CoInitialize(NULL);来对线程进行一个初始化。 CoInitialize是用来初始化COM库的;  CoUninitialize是用来对COM库做些清理工作的;例程://线程函数
void Proc(void* pstu )
{
   CoInitialize(NULL);//初始化com,否则多线程中的cvCaptureFromFile 不能再次使用
   CvCapture* capture=0;

   capture = cvCaptureFromFile( aviFilePath);
   while(1) {
    if(...)
          break;
}
   cvReleaseCapture( &capture );
   CoUninitialize();//清理工作
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: