void CMy_OpencvDlg::OnBnClickedCanny()
{
// TODO: 在此添加控件通知处理程序代码
IplImage* img_canny = cvCreateImage(cvSize(m_img.width,m_img.height),IPL_DEPTH_8U,
1);
cvCanny(&m_img,img_canny,0,200,3);
CDC* pDC = GetDlgItem(IDC_PIC_PROCESS)->GetDC();
HDC hDC = pDC->GetSafeHdc();
CvvImage cimg;
cimg.CopyOf(img_canny);
CRect rect;
GetDlgItem(IDC_PIC_PROCESS)->GetClientRect(&rect);
cimg.DrawToHDC(hDC, &rect);
ReleaseDC(pDC);
}
在MFC中添加另外一个图形控件用来显示图像处理后的结果,在这里记得将之前打开的图像用一个全局变量m_img来存储。下面是实现之后的效果