二 图像处理opencv mfc学习
来源:互联网 发布:java下载64位 win7 编辑:程序博客网 时间:2024/06/05 15:19
MFC大致上看过一点,也就是会一个事件处理怎么写吧,其他的基本上都不会,纯粹的菜鸟,这不想书也看了,应该也可以试试一个简单的处理。好,下面就开始这个里面的第一块,打开图像。
对于打开图像,这个还真是个难题,不然直接用MFC打开图像方法还是很多的,不过这次结合opencv2.3来的时候却不是那么好办了,看了一些写的,贴上来给大家看看
CDC* pDC = GetDlgItem( ID ) ->GetDC(); // 获得显示控件的 DC HDC hDC = pDC ->GetSafeHdc(); // 获取 HDC(设备句柄) 来进行绘图操作 CRect rect; GetDlgItem(ID) ->GetClientRect( &rect ); int rw = rect.right - rect.left; // 求出图片控件的宽和高 int rh = rect.bottom - rect.top; int iw = img->width; // 读取图片的宽和高 int ih = img->height; int tx = (int)(rw - iw)/2; // 使图片的显示位置正好在控件的正中 int ty = (int)(rh - ih)/2; SetRect( rect, tx, ty, tx+iw, ty+ih ); CvvImage cimg; cimg.CopyOf( img ); // 复制图片 cimg.DrawToHDC( hDC, &rect ); // 将图片绘制到显示控件的指定区域内 ReleaseDC( pDC );
里面用到的了CvvImage,这个里面直接有CopyOf这个方法,而这个类在opencv2.3中已经不在了,所以有的人就提出了这么一个方法把cvvimage.h和cvvimage.cpp直接放到工程里编译,这个是可以的,网上有成功的例子,而对于opencv2.3中对于c++不是C的读取图像用
Mat img = imread(imagename);这样做可以尽量避免使用指针这个危险的东西,而且用这个也不用去release资源,而对于不是IplImage的类型资料更少,而对于Mat类型也不会在转到IplImage类型来处理,然后查找资料,由于OpenCV里没有函数把Mat直接显示到View里,处理的方法有两种,一种是转CImage,这个可以参考http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=15224&p=52713&hilit=mfc+2.3&sid=a14b9893a7d6071cd0fe6ab943066352#p52713
另外一种是通过StretchDIBits来绘制,这个大家可以参考
http://www.dzqy.tk/2011/11/mfc-use-opencv.html
目前正在学习MFC和图像处理,大家一起交流。
0 0
- 二 图像处理opencv mfc学习
- OpenCV系统学习:二、基本图像处理函数
- 【OpenCV】图像处理(二)图像形态学
- VS2010+MFC+OpenCv处理图像的配置
- MFC中使用openCV显示、处理图像
- MFC中使用openCV显示、处理图像
- OpenCV学习之图像处理
- OpenCV学习笔记9 OpenCV图像处理模块ImgProc Module. Image Processing(二)
- Opencv教程基础篇(一)--MFC使用Opencv处理图像
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- OpenCV入门(二) 图像平滑处理
- OPENCV图像处理提高(二):模糊
- Python-OpenCV 处理图像(二):滤镜和图像运算
- Python-OpenCV 处理图像(二):滤镜和图像运算
- 【OpenCV图像处理】二、图像的二值化操作
- 【OpenCV图像处理】二十二、图像边缘检测(上)
- OpenMP的学习
- 从信息论到哈弗曼树
- 国内大学毕业论文LaTeX模板集合
- Computer Vision Resources
- 图像处理的学习
- 二 图像处理opencv mfc学习
- 计算机视觉方向的一些顶级会议和期刊
- 涉足计算机视觉领域要知道的1
- 涉足计算机视觉领域要知道的2
- 计算机视觉牛人
- 判别模型和生成模型
- Chrome浏览器,An invalid form control with name='' is not focusable. 问题处理
- 405 Method Not Allowed
- 计算机视觉常用链接