VS2012 MFC + OpenCV

来源:互联网 发布:淘宝网怎么找货源 编辑:程序博客网 时间:2024/05/23 00:06

1 版本说明

   Visual Studio 2012 + OpenCV-2.4.9。 

2 关键代码

    根据参考资料,总结MFC中利用OpenCV读取并且显示图像的方法如下:

void CMFCDialogOpenCVDlg::OnBnClickedBtnOpenImage(){// TODO: 在此添加控件通知处理程序代码// 打开图像文件TCHAR filter[] = _T("jpeg图像(*.jpg)|*.jpg|bmp图像(*.bmp)|*.bmp|tif图像(*.tif)|*.tif||");// 打开文件对话框CFileDialog fileDlg(TRUE, _T("tif"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filter);if (fileDlg.DoModal() == IDOK){CString m_strPath;m_strPath = fileDlg.GetPathName();// opencv 加载图像char *pfilePath =(LPSTR)(LPCTSTR)m_strPath;  // 需要设置为非unicode字符,否则出错IplImage *img = cvLoadImage(pfilePath);//load image from file// CvvImage类CvvImage cvvImg; // cvvImg.Destroy();cvvImg.CopyOf(img);//复制图像到当前的CvvImage对象中  CStatic *pStc = (CStatic *)GetDlgItem(IDC_STATIC_PICTURE);// IDC_STATIC_PICTURE为Picture Control IDCRect rect;// 显示窗口的大小pStc->GetClientRect(&rect);//将CWind类客户区的坐标点传给矩形CDC *pDC = pStc->GetDC();//得到Picture控件设备上下文hDC = pDC->GetSafeHdc();//得到控件设备上下文的句柄 // 绘制图像cvvImg.DrawToHDC(hDC, &rect); //绘制图像的ROI区域到DC的rect区域ReleaseDC( pDC );}}

 参考资料

[1]VS2010 / MFC + OpenCV 2.4.1打开图片

[2]【OpenCV2】MFC中用OPENCV如何将图片显示在指定位置?

[3]OpenCV 2.2版本以上显示图片到 MFC 的 Picture Control 控件中

[4]CvvImage类以及在MFC中显示IplImage图像的方法

[5]OpenCV+MFC显示图像/视频

0 0
原创粉丝点击