MFC嵌入opencv窗口之读取图像

在初始化函数中加入如下代码

在mfc的图形控件嵌入opencv的图形窗口, 以便利用opencv进行画矩形,直线,圆,椭圆。MFC进行鼠标操作时无法显示到图像上,所以嵌入opencv窗口显示图像。

void Ctest2Dlg::OnBnClickedReadImg()
{

cv::namedWindow("view", cv::WINDOW_AUTOSIZE);
HWND hWnd = (HWND)cvGetWindowHandle("view");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_ShowImg)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
CString FilePath;
CFileDialog FileDlg(TRUE);
if (IDOK == FileDlg.DoModal())
{
    //获取FileOpen对话框返回的路径名
    FilePath = FileDlg.GetPathName();
    CT2CA pszName(FilePath);
    std::string pathName(pszName);
    srcImg = imread(pathName);
    imshow("view", srcImg);
    m_pImageZoom = new CImageZoom(FromHandle(hWnd), FilePath);
    // 除非将焦点设置到控件,否则返回 TRUE
}

}
用new CImageZoom函数访问view窗口的的窗口号,ImageZoom是关于鼠标滚动放大缩小的类。

参考链接:在mfc的图形控件嵌入opencv的图形窗口 - CSDN博客 https://blog.csdn.net/pengjc2001/article/details/52073868

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值