1.按照文章《OpenCV+MFC显示图像》,完成配置。
2.创建相应的图像控件,按钮控件。
3.进行类型转换。
在当前OpenCV2版本内,图像格式为cv::Mat ,而该格式无法直接在MFC内显示。因此,需要将其转换为可以在MFC内显示的CvvImage类格式,该类内有函数 DrawToHDC()支持MFC。试了一下无法直接实现,需要曲线救国。首先,将 格式cv::Mat变换为格式IplImage,再转换格式为 CvvImage。
还有问题,目前openCV2版本不再支持CvvImage,故需要导入该类的CvvImage.h和CvvImage.cpp。具体方法可以百度。
4.代码:
Mat mat=imread("llz.jpg");
CDC* pDC = GetDlgItem(IDC_STATIC)->GetDC();
HDC hDC = pDC->GetSafeHdc();
IplImage img = mat;
CvvImage cimg;
cimg.CopyOf( &img );
CRect rect;
GetDlgItem(IDC_STATIC)->GetClientRect(&rect);
cimg.DrawToHDC(hDC, &rect);
ReleaseDC( pDC );
5.运行结果。

参考文献:
1.MFC中使用openCV显示、处理图像,http://licong1018.blog.163.com/blog/static/9026978420129239178934/
PS,需要加上namespace....http://blog.youkuaiyun.com/superdont/article/details/24851727
MFC结合OpenCV显示图像

本文介绍如何在MFC应用程序中使用OpenCV显示图像。主要内容包括:完成环境配置;创建图像与按钮控件;进行图像格式转换,解决OpenCV2版本下CvvImage不被支持的问题;并提供完整代码及运行结果。
1821

被折叠的 条评论
为什么被折叠?



