OpenCV显示Mat图像

qzdahai 2014-10-28 03:42:57
利用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;
}
...全文
352 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiter 2014-12-13
  • 打赏
  • 举报
回复
我也觉的可以按照楼上说的,完后把窗口移动到控件的位置,不过你用的这个类应该已经很好了
caonimanima 2014-12-12
  • 打赏
  • 举报
回复
可以用opencv的窗口显示图像,获取窗口句柄,设置该窗口的父窗口,就可以啦
lx624909677 2014-12-11
  • 打赏
  • 举报
回复
你这个已经很简单了,Opencv中可以直接显示在控件上的图像对象好像只有CvvImage ,其他的比如Mat,都是需要先转成CImage这类的图像类才能显示
赵4老师 2014-10-29
  • 打赏
  • 举报
回复
参考OpenCV自带的相关例子代码。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧