2 chengxuyuanlsb chengxuyuanlsb 于 2014.08.17 09:14 提问

MFC 利用opencv显示图片,需要在窗体完成哪一步后才可以

对对话框创建流程不是太清楚。
下面代码只能通过按钮点击响应才可以,但直接放在对话框初始化以及onsize里面就不行。

cv::Mat mat, mat2;

mat = cv::imread("D:\\test1.jpg", 1);
if(! mat.data) {
    MessageBox(_T("error", "no image loaded!"), MB_OK);
    return;
}

CRect rect;
GetDlgItem(IDC_STATIC)->GetClientRect(&rect);

CDC* pDC = GetDlgItem(IDC_STATIC)->GetDC();
HDC hDC = pDC->GetSafeHdc();
IplImage img = mat;
CvvImage cimg;
cimg.CopyOf( &img );

cimg.DrawToHDC(hDC, &rect);
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!