栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

opencv图片显示到mfc控件中,按键打开

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

opencv图片显示到mfc控件中,按键打开

首先给mfc图片控件添加一个变量m_picture


然后在按键单机处理函数中添加代码:

void CxxxDlg::OnBnClickedButton_xxx()//按钮_打开图片
{
		//TODO: 在此添加控件通知处理程序代码
		//打开文件管理器
		CString strFile = _T("");
		CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"), NULL);
		if (dlgFile.DoModal())
		{
			strFile = dlgFile.GetPathName();//获取打开的图片路径
		}
		int flag=strFile.GetLength();//判断是否打开了图像
		if (flag>0)//如果打开了图像则显示 
		{
			//opencv清除上一张图
			cvDestroyAllWindows();
			//mfc清除上一张图
			m_picture.SetBitmap(NULL);
			this->RedrawWindow();
			//创建OpenCV窗口
			namedWindow("ImageShow");
			//嵌套opencv窗口
			HWND hWnd2 = (HWND)cvGetWindowHandle("ImageShow");
			HWND hParent = ::GetParent(hWnd2);
			::SetParent(hWnd2, GetDlgItem(IDC_STATIC1)->m_hWnd);
			::ShowWindow(hParent, SW_HIDE);
			//CString转cv::String
			USES_CONVERSION;
			String img_path(W2A(strFile));
			Mat mat = imread(img_path);//opencv读取图片
			imshow("ImageShow", mat);//opencv显示图片
			waitKey(1);
		}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号