一、添加控件
添加图片空间,ID改为IDC_Pic1;
二、添加函数
添加显示Mat图片到指定控件函数:
//显示图片到指定窗口
void COpencv1Dlg::ShowImage(Mat m_Img, int IDCNum)
{
CRect rect;
GetDlgItem(IDCNum)->GetClientRect(rect);
namedWindow("蒲公英", 1);
resizeWindow("蒲公英", rect.Width(), rect.Height());
HWND hWnd = (HWND)cvGetWindowHandle("蒲公英");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDCNum)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
resize(m_Img, m_Img, Size(rect.Width(), rect.Height())); // 缩放图片
imshow("蒲公英", m_Img);
}
修改打开图片按钮函数执行内容,调用显示图片函数;
void COpencv1Dlg::OnBnClickedButton1()
{
Mat src = imread("F:/picture/蒲公英.jpg"); //图片文件路径
if (src.empty()) //图片文件不存在则提示
{
MessageBox(_T("未找到指定路径图片!"), _T("提示")); //提示未找到图片
}
else //若文件存在则显示
{
//namedWindow("蒲公英", CV_WINDOW_AUTOSIZE); //新建显示窗口
//imshow("蒲公英", src); //显示图片
ShowImage(src, IDC_Pic1);
}
}
三、编译运行