C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用OpenCV在MFC/C++应用程序中显示图像大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在MFC应用程序中显示我从具有OpenCV(cvCaptureFromAVI函数)的avi文件中捕获的帧.

我是MFC的新手,但觉得我已经接近使它成功了.但是,不是在图片框中显示的帧,它们显示在新窗口中.

cvGetWindowName始终返回null值.

有我的代码

CWnd* hPic = 0;
hPic = GetDlgItem(IDC_STATICPIC1);  
const char* szWindName = cvGetWindowName(hPic->GetSafeHwnd());
cvShowImage(szWindName,frame_copy);

解决方法

经过长时@L_874_8@研究,我发现了一些可以使它发挥作用的东西

解决方案是创建窗口,然后将其插入图片框.我不确定这是好习惯,但我现在还没有找到更好的东西.

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.

希望这有助于某人.

大佬总结

以上是大佬教程为你收集整理的使用OpenCV在MFC/C++应用程序中显示图像全部内容,希望文章能够帮你解决使用OpenCV在MFC/C++应用程序中显示图像所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。