MFC中显示IplImage类

平常使用opencv显示图像时总是跳出一个个窗口,这样很难与MFC继承,而在opencv提供的CvvImage类中很好的使MFC中显示IplImage类的图片。
CvvImage类在opencv的highgui.h头文件中被声明(在opencv2.0以后的版本中,这个类好像被去掉了,显得非常不方便,可以从低版本中拷贝到高版本中,实现这个类,仍可以使用)

在CXXXView中显示IplImage
void CXXXView::DrawIplImage2DC(IplImage *img)
{
    if (img!=NULL)
    {
        CDC *pDC = GetDC();
        HDC hDC = pDC->GetSafeHdc();

        CRect rect;
        rect.SetRect(0,0,img->width,img->height);
        CvvImage cvvimg;//在opencv的highgui.h头文件中
        cvvimg.CopyOf(img);
        cvvimg.DrawToHDC(hDC,&rect);

        UpdateData(TRUE);

        ReleaseDC(pDC);
    }
}

在图片控件中显示IplImage图片
void CXXXDlg::DrawIplImage2DC(IplImage *img,UNIT ID)
{
    if (img!=NULL)
    {
        CDC *pDC = GetDlgItem(ID)->GetDC();
        HDC hDC = pDC->GetSafeHdc();

        CRect rect;
        GetDlgItem(ID)->GetClientRect(&rect)
        CvvImage cvvimg;//在opencv的highgui.h头文件中
        cvvimg.CopyOf(img);
        cvvimg.DrawToHDC(hDC,&rect);

        UpdateData(TRUE);

        ReleaseDC(pDC);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值