1.直接将opencv的imshow窗口镶嵌到MFC窗口内:
namedWindow("view", WINDOW_AUTOSIZE);
HWND hWnd = (HWND)cvGetWindowHandle("view");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(face_picture)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);//隐藏运行程序框
2.将图片用HDC绘画
- Mat frame=imread("d:/1.jpg")
- CDC* pDC = GetDlgItem(IDC_ShowImage)->GetDC();
- HDC hDC = pDC->GetSafeHdc();
- IplImage img = frame;
- CvvImage cimg;
- cimg.CopyOf(&img);
- CRect rect;
- GetDlgItem(IDC_ShowImage)->GetClientRect(&rect);
- cimg.DrawToHDC(hDC, &rect);
- ReleaseDC(pDC);