在 MFC 框架中,有什么方法能直接将 OpenCV 2.0 库中 Mat 格式的图片传递到 Picture Control(图片控件)显示?

时间:2022-05-07 20:18:03
也可以把OpenCV的窗口添加到PictureControl里面,这样你可以继续使用OpenCV的setMouseCallback直接对PictureControl进行鼠标操作。
首先在你的OnInit函数中添加如下
namedWindow("view", WINDOW_AUTOSIZE); HWND hWnd = (HWND) cvGetWindowHandle("view"); HWND hParent = ::GetParent(hWnd); ::SetParent(hWnd, GetDlgItem(IDC_STATIC_CV)->m_hWnd); ::ShowWindow(hParent, SW_HIDE); 
上面就是打开一个名为view的OpenCV窗口,并将其放置到一个ID为IDC_STATIC_CV的PictureControl里面,这个控件的类型需要是rectangle。当你在需要显示某图片的时候,就像在OpenCV里面显示一样就可以了。
imshow("view", mat);