OpenCV显示Mat图像
利用CvvImage类显示Mat图像,还有其它更好的显示Mat图像的方法吗?
void CShiftDectView::ShowMatImg2(cv::Mat img, UINT ID)
{
RECT rc;
CDC* pDC = GetDlgItem(ID)->GetDC(); // 获得显示控件的 DC
HDC hDC = pDC->GetSafeHdc(); // 获取 HDC(设备句柄) 来进行绘图操作
CvvImage cimg;
IplImage *tempimg;
GetDlgItem(ID)->GetClientRect(&rc);
if (pDC && !img.empty())
{
tempimg = cvCreateImage(img.size(), 8, img.channels());
img.copyTo(Mat(tempimg));
cimg.CopyOf(tempimg); // 复制图片
cimg.DrawToHDC(hDC, &rc); // 将图片绘制到显示控件的指定区域内
cvReleaseImage(&tempimg);
}
ReleaseDC(pDC);
return;
}