首先在自己的项目中添加CvvImage.h和CvvImage.cpp。在要使用的类中包含其头文件#include "CvvImage",接着添加如下消息处理函数:
void CPersonWidthDlg::showimg(void)
{
Mat img = imread(".\\lena.jpg")
IplImage iplImg = IplImage(img)
//Iplimage * iplImg = &img.operator IplImage()
CDC* pDC = GetDlgItem(IDC_FRAME)->GetDC()
HDC hdc = pDC->GetSafeHdc()
RECT rect
GetDlgItem(IDC_FRAME)->GetClientRect(&rect)
CvvImage cvvImg
cvvImg.CopyOf(&iplImg)
cvvImg.DrawToHDC(hdc,&rect)
ReleaseDC(pDC)
}
MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。
其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
大致意思是,vs产品有一部分已经更新了,有一部分还没更新,如果不是所有都更新过的话,vs就不能很好的工作!不过提示了需要更新到sp1,
所以建议:
到微软的网站下载同版本的vs2010
sp1安装包,更新一下你的vs2010,应该问题就解决了!
使用openCV的 cv::Mat 读取图片之后,需要在picture control控件中将图片显示出来。其过程是这样的:
1、将 cv::Mat 转换格式为 IplImage,
2、然后将 IplImage 转换格式为 CvvImage,因为 CvvImage 类中有函数 DrawToHDC(),可以直接完成MFC空间中的绘图。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)