怎样在MFC中使用opencv进行图像显示
答案:3 悬赏:60 手机版
解决时间 2021-04-18 00:20
- 提问者网友:寂寞梧桐
- 2021-04-17 17:12
怎样在MFC中使用opencv进行图像显示
最佳答案
- 五星知识达人网友:woshuo
- 2021-04-17 17:21
使用openCV的 cv::Mat 读取图片之后,需要在picture control控件中将图片显示出来。
其过程是这样的:
1、将 cv::Mat 转换格式为 IplImage,
2、然后将 IplImage 转换格式为 CvvImage,因为 CvvImage 类中有函数 DrawToHDC(),可以直接完成MFC空间中的绘图。
其过程是这样的:
1、将 cv::Mat 转换格式为 IplImage,
2、然后将 IplImage 转换格式为 CvvImage,因为 CvvImage 类中有函数 DrawToHDC(),可以直接完成MFC空间中的绘图。
全部回答
- 1楼网友:拜訪者
- 2021-04-17 19:00
论坛上有一个图像显示、图像处理的教程,非常详细,按照这个方法可以实现你需要的功能http://www.opencv.org.cn/index.php/%E5%88%A9%E7%94%A8MFC%E7%9A%84Picture%E6%8E%A7%E4%BB%B6%E6%98%BE%E7%A4%BA%E5%92%8C%E5%A4%84%E7%90%86%E5%9B%BE%E5%83%8F
- 2楼网友:一把行者刀
- 2021-04-17 18:17
新建Picture控件,ID号改为IDC_PICYURE(只要不是IDC_STATIC就行)。
假设opencv中的图像为IplImage * img,而且img中有图像,一下代码就是显示图像:
CvvImage image;
HDC* Hdc = GetDlgItem(IDC_PICTURE)->GetDC()->GetSafeHdc();
CRect rect = GetDlgItem(IDC_PICTURE)->GetClientRect(&rect);
image.copyof(img);
image.DrawToHdc(Hdc, &rect);
假设opencv中的图像为IplImage * img,而且img中有图像,一下代码就是显示图像:
CvvImage image;
HDC* Hdc = GetDlgItem(IDC_PICTURE)->GetDC()->GetSafeHdc();
CRect rect = GetDlgItem(IDC_PICTURE)->GetClientRect(&rect);
image.copyof(img);
image.DrawToHdc(Hdc, &rect);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯