OpenCV读取图像显示在MFC窗口上

本文介绍如何将OpenCV读取的图像显示到MFC应用程序的静态图片控件中,包括创建图片控件,绑定变量,并在按钮事件中加载图像,以及关闭图像的处理方法。
摘要由CSDN通过智能技术生成

                             OpenCV读取图像显示在MFC窗口上

                 1.   在MFC上创建一个图片控件,自己修改ID,比如IDC_PICTURE,并且添加对应的变量 CStatic m_PictureControl

                 2.   在打开图片的按钮触发事件中添加如下代码:

	namedWindow("ImageShow", CV_WINDOW_KEEPRATIO);          // 用OpenCV创建一个窗口 
	CRect cWindowRect;
	m_PictureControl.GetClientRect(&cWindowRect);           // 获取控件窗口大小
	int nWindowWidth = cWindowRect.Width();
	int nWindowHeight = cWindowRect.Height();
	resizeWindow("ImageShow", nWindowWidth, nWindowHeight);
	hPictureWindow = (HWND)cvGetWindowHandle("ImageShow");        //  获取OpenCV窗口的句柄
	hParentWindow = ::GetParent(hPictureWindow);
	::SetParent(hPictureWindow, GetDlgItem(IDC_PICTURE)->m_hWnd);   //  关联OpenCV窗口和MFC的控件窗口
	::ShowWindow(hParentWindow, SW_HIDE);
	GetDlgItem(IDC_PICTURE)->ShowWindow(0);                        // 开始不显示图片控件
	CFileDialog dlg(TRUE, _T("*,
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值