VS2010 / MFC + OpenCV 2.4.3 打开图片
2013-11-05 21:28
357 查看
一、新建项目
菜单,文件 - 新建 - 项目
Visual C++,MFC应用程序,名称为MFC_SHOWIMG
下一步
基于对话框,不使用Unicode库,在静态库中使用MFC,完成
二、配置OpenCV环境
可参考http://dczxxuhai.blog.163.com/blog/static/172216907201172624243741/
三、添加和设置控件
菜单,视图,工具箱,打开工具箱
选中Button控件
同理,添加Picture Control控件
右击Picture控件,属性,打开控件属性窗口,其ID为IDC_STATIC,修改Type为Rectangle,将Picture控件大小调整合适
右击添加的Button按钮,属性,可将Caption改为OpenImg,右击按钮,添加事件处理程序
选择BN_CLICKED,类列表为CMFC_SHOWIMGDlg,函数名为OnBnClickedOpenimg,添加编辑
四、添加OpenCV的CvvImage文件
右击解决资源方案管理器中的头文件,添加,现有项,选择CvvImage.h。
同样,源文件中添加CvvImage.cpp
注意:CvvImage.h和CvvImage.cpp在OpenCV2.4.3中没有,需要自己在网上下载。
下载地址:http://ishare.iask.sina.com.cn/f/33440676.html
opencv2.2以上不支持CvvImage的解决办法http://blog.csdn.net/geniussnail/article/details/7469035
五、添加代码
在类视图或解决方案管理器中双击打开MFC_SHOWIMGDlg.h
添加代码
在MFC_SHOWIMGDlg.h文件中CMFC_SHOWIMGDlg类的声明中添加函数DrawPicToHDC()的声明
在MFC_SHOWIMGDlg.cpp文件中添加函数
在新增按钮的响应函数中添加代码为如下
六、编译运行
点击OpenImg按钮即可打开demo.jpg并显示在Picture控件上
菜单,文件 - 新建 - 项目
Visual C++,MFC应用程序,名称为MFC_SHOWIMG
下一步
基于对话框,不使用Unicode库,在静态库中使用MFC,完成
二、配置OpenCV环境
可参考http://dczxxuhai.blog.163.com/blog/static/172216907201172624243741/
三、添加和设置控件
菜单,视图,工具箱,打开工具箱
选中Button控件
同理,添加Picture Control控件
右击Picture控件,属性,打开控件属性窗口,其ID为IDC_STATIC,修改Type为Rectangle,将Picture控件大小调整合适
右击添加的Button按钮,属性,可将Caption改为OpenImg,右击按钮,添加事件处理程序
选择BN_CLICKED,类列表为CMFC_SHOWIMGDlg,函数名为OnBnClickedOpenimg,添加编辑
四、添加OpenCV的CvvImage文件
右击解决资源方案管理器中的头文件,添加,现有项,选择CvvImage.h。
同样,源文件中添加CvvImage.cpp
注意:CvvImage.h和CvvImage.cpp在OpenCV2.4.3中没有,需要自己在网上下载。
下载地址:http://ishare.iask.sina.com.cn/f/33440676.html
opencv2.2以上不支持CvvImage的解决办法http://blog.csdn.net/geniussnail/article/details/7469035
五、添加代码
在类视图或解决方案管理器中双击打开MFC_SHOWIMGDlg.h
添加代码
#include "cv.h" #include "highgui.h" #include "CvvImage.h"
在MFC_SHOWIMGDlg.h文件中CMFC_SHOWIMGDlg类的声明中添加函数DrawPicToHDC()的声明
void DrawPicToHDC(IplImage *img, UINT ID);
在MFC_SHOWIMGDlg.cpp文件中添加函数
void CMFC_SHOWIMGDlg::DrawPicToHDC(IplImage* img,UINT ID) { CDC *pDC = GetDlgItem(ID)->GetDC(); HDC hDC = pDC->GetSafeHdc(); CRect rect; GetDlgItem(ID)->GetClientRect(&rect); CvvImage cimg; cimg.CopyOf(img);//复制图片 cimg.DrawToHDC(hDC,&rect);//将图片绘制到显示控件的指定区域内 ReleaseDC(pDC); }
在新增按钮的响应函数中添加代码为如下
void CMFC_SHOWIMGDlg::OnBnClickedOpenimg() { // TODO: 在此添加控件通知处理程序代码 IplImage *image = NULL;//原始图像 if(image) cvReleaseImage(&image); image = cvLoadImage("demo.jpg",1);//显示图片 DrawPicToHDC(image,IDC_STATIC); }
六、编译运行
点击OpenImg按钮即可打开demo.jpg并显示在Picture控件上
相关文章推荐
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- 图片引发的溢出危机(图)
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- 超级经典一套鼠标控制左右滚动图片带自动翻滚
- 用css实现图片垂直居中的使用技巧
- Visual C++中MFC消息的分类
- 关于vs2005、vs2008和vs2010项目互转的总结
- 图片与文字半透明效果 鼠标移上不透明
- javascript实现网站顶部出现几秒后图片缓慢消失的效果
- asp下轻松实现将上传图片到数据库的代码
- asp汉字中文图片验证码
- CSS图片翻转菜单
- 一个收集图片的bookmarlet(js 刷新页面中的图片)
- vs2010根据字符串内容添加断点的方法介绍
- JavaScript判断图片是否能够加载,失败则替换默认图片
- 图片友情链接滚动 横向,带控制按钮
- JavaScript 控制图片改变重叠顺序的代码(鼠标移动切换)