【笔记】 MFC 在Opencv2如何显示Mat图片:Opencv 1.0在MFC框架上通过Cvvimage类中的DrawPicToHDC( IplImage *img, UINT ID)方法显示图片
注:Picture Control控件类型不需要必须是矩形(Rectangle),使用默认的类型帧(Frame)也可以正常显示。namedWindow("view", WINDOW_AUTOSIZE);HWND hWnd = (HWND) cvGetWindowHandle("view");HWND hParent = ::GetParent(hWnd);::SetParent(hWnd, Get
·
注:Picture Control控件类型不需要必须是矩形(Rectangle),使用默认的类型帧(Frame)也可以正常显示。
namedWindow("view", WINDOW_AUTOSIZE);
HWND hWnd = (HWND) cvGetWindowHandle("view");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_STATIC_CV)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
链接在此: 点击打开链接
namedWindow("view",WINDOW_AUTOSIZE);
HWND hWnd = (HWND) cvGetWindowHandle("view");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_STATIC_Pic)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
CString picPath; //定义图片路径变量
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
NULL, this); //选择文件对话框
if(dlg.DoModal() == IDOK)
{
picPath= dlg.GetPathName(); //获取图片路径
}
//CString to string 使用这个方法记得字符集选用“使用多字节字符”,不然会报错
string picpath=picPath.GetBuffer(0);
Mat image=imread(picpath);
Mat imagedst;
//以下操作获取图形控件尺寸并以此改变图片尺寸
CRect rect;
GetDlgItem(IDC_STATIC_Pic)->GetClientRect(&rect);
Rect dst(rect.left,rect.top,rect.right,rect.bottom);
resize(image,imagedst,cv::Size(rect.Width(),rect.Height()));
imshow("view",imagedst);
更多推荐
已为社区贡献4条内容
所有评论(0)