使用OpenCV在MFC/C++应用程序中显示图像
发布时间:2020-12-16 10:19:23 所属栏目:百科 来源:网络整理
导读:我想在MFC应用程序中显示我从具有OpenCV(cvCaptureFromAVI函数)的avi文件中捕获的帧. 我是MFC的新手,但觉得我已经接近使它成功了.但是,不是在图片框中显示的帧,它们显示在新窗口中. cvGetWindowName始终返回null值. 有我的代码: CWnd* hPic = 0;hPic = GetD
我想在MFC应用程序中显示我从具有OpenCV(cvCaptureFromAVI函数)的avi文件中捕获的帧.
我是MFC的新手,但觉得我已经接近使它成功了.但是,不是在图片框中显示的帧,它们显示在新窗口中. cvGetWindowName始终返回null值. 有我的代码: CWnd* hPic = 0; hPic = GetDlgItem(IDC_STATICPIC1); const char* szWindName = cvGetWindowName(hPic->GetSafeHwnd()); cvShowImage(szWindName,frame_copy); 解决方法
经过长时间的研究,我发现了一些可以使它发挥作用的东西
解决方案是创建窗口,然后将其插入图片框.我不确定这是好习惯,但我现在还没有找到更好的东西. cvNamedWindow("IDC_STATIC_OUTPUT",0); cvResizeWindow("IDC_STATIC_OUTPUT",420,240); HWND hWnd = (HWND) cvGetWindowHandle("IDC_STATIC_OUTPUT"); HWND hParent = ::GetParent(hWnd); ::SetParent(hWnd,GetDlgItem(IDC_PIC1)->m_hWnd); ::ShowWindow(hParent,SW_HIDE); cvShowImage("IDC_STATIC_OUTPUT",frame_copy); 在这种情况下,图片框称为IDC_PIC1,frame_copy是OpenCV IplImage. 希望这有助于某人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容