1.依照文章《 OpenCV+MFC显示图像 》,完毕配置。
2.创建对应的图像控件,button控件。
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.csdn.net/superdont/article/details/24851727