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