OpenCV窗口嵌入MFC
2016-12-01 15:41
537 查看
OpenCV窗口嵌入MFC
from http://blog.csdn.net/pengjc2001/article/details/52073868在初始化函数中加入如下代码。
std::string wndName = "tt"; cv::namedWindow(wndName, cv::WINDOW_AUTOSIZE); HWND mHWnd = (HWND)cvGetWindowHandle(wndName.c_str()); HWND mHParent = ::GetParent(mHWnd); ::SetParent(mHWnd, GetDlgItem(IDC_IMG)->m_hWnd); ::ShowWindow(mHParent, SW_HIDE);
下面就是在需要的地方 调用DrawMatToPic(Mat cvImg, UINT ID) ;这个ID与上边的ID应该一致
调用语句:
cv::Mat img = cv::imread("D:\\desktop_tempfile\\images\\IMG_20161027_091156.jpg"); DrawMatToPic(img, IDC_IMG);
void CMy20161201TestOpenCVDlg::DrawMatToPic(cv::Mat cvImg, UINT ID) { CDC *pDC = GetDlgItem(ID)->GetDC(); HDC hDCDst = pDC->GetSafeHdc(); CRect rect; GetDlgItem(ID)->GetClientRect(&rect); int NewWidth = cvImg.cols; int NewHeight = cvImg.rows; double XScale = double(rect.right - rect.left) / double(cvImg.cols); double YScale = double(rect.bottom - rect.top) / double(cvImg.rows); NewWidth = cvImg.cols * XScale; NewHeight = cvImg.rows * YScale; cv::Size NewSize(NewWidth, NewHeight); cv::Mat cvImgScaled(NewSize, CV_8UC3); cv::resize(cvImg, cvImgScaled, NewSize); cv::imshow("tt", cvImgScaled); }
相关文章推荐
- 在mfc的图形控件嵌入opencv的图形窗口
- MFC中利用多线程实现opencv视频窗口多画面
- 将opencv图像嵌入到MFC控件中
- 使用GDI+可以方便的把OpenCV的图像矩阵类型数据显示在MFC的窗口中
- OpenCV打开摄像机并显示在MFC窗口上
- vs2013+Opencv2.4.9+MFC的图像浏览窗口
- 如何让OpenCV的图片显示在MFC窗口上
- 把Qt 的窗口程序 嵌入到 MFC 的窗口程序
- 如何让OpenCV的图片显示在MFC窗口上
- 在mfc中利用opencv打开摄像头并显示在窗口上
- MFC窗口视频显示方法--OpenCV VFW模式
- 在MFC中修改opencv的namedWindow窗口位置
- WPF&MFC&Opencv透明全屏无边框窗口创建
- [转]如何将OpenCV中的IplImage显示在MFC的窗口中
- 【MFC】【停靠窗口】的建立及其内部【控件的嵌入】
- 《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
- Win Form窗口嵌入MFC窗口——方案分析
- 《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
- MFC窗口视频显示方法--OpenCV DirectShow模式
- MFC如何将对话框嵌入浮动窗口中