MFC中快速应用OpenCV教程
论坛上看到非常经典的VS2008 + OpenCV 2.0下的配置过程:
(这里用的是opencv2.0)
1. 文件 | 项目 | MFC | MFC应用程序 |(新名称如MFCtest)|next
2. 单文档,取消使用Unicode库选项,选中在静态库中使用MFC | next
3. 取消ActiveX控件选项 | next | 完成
4. 项目 | 属性 | 链接器 |
输入(活动Debug) | 附加依赖项 | cxcore200d.lib cv200d.lib highgui200d.lib
输入(Release) | 附加依赖项 | cxcore200.lib cv200.lib highgui200.lib
《opencv1.0的话是cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib》
5.
解决方案中 | MFCtestDoc.h 中增加 | include “highgui.h” |
public 中增加 CImage m_image
6. 类视图 | 右击 CMFCtestDoc | 增加 | 增加函数 | 增加函数名OnOpenDocument | 参数类型 LPCTSTR,参数lpszPathName | 添加 | 选中虚函数。|
(注意:这里我直接用下来菜单中的bool(小写),编译会出错的,改为BOOL(大写)后编译通过,看了下自带的OnNewDocument的返回值也是BOOL(大写))
7. 在OnOpenDocument中增加代码:
- if(!CDocument::OnOpenDocument(lpszPathName)) return false;
- m_image.Load(lpszPathName);
- return true;
8. 同6,7步增加OnSaveDocument代码:
- m_image.Save(lpszPathName);
- return true;
9. 在CMFCtestView中的OnDraw中在原有代码基础上修改为:
(注意首先把OnDraw的参数改为CDC* pDC)
- CMFC_testDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- if (!pDoc)
- return;
- CImage & img = pDoc ->m_image;
- CRect r;
- GetClientRect (&r);
- img.DrawToHDC(pDC->GetSafeHdc() ,r);
10.运行正常
from: http://blog.csdn.net/abcjennifer/article/details/7215765
MFC中快速应用OpenCV教程的更多相关文章
- MFC中快速应用OpenCV(转)
转载链接:http://wiki.opencv.org.cn/index.php/MFC%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%BA%94%E7%94%A8OpenCV 简介和缘 ...
- MFC中的CDC详细教程
参考: MFC中的CDC详细教程1,2,3 StretchDIBits用法
- MWeb for Mac使用教程-如何在文档库中快速搜索
使用MWeb for Mac专业的 Markdown 编辑写作软件,可以让你随时记录自己的想法,灵感,创意,为您的工作节省宝贵的时间.本篇文章带来的是MWeb for Mac如何在文档库中快速搜索使用 ...
- duilib进阶教程 -- 在MFC中使用duilib (1)
由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...
- CRL快速开发框架系列教程七(使用事务)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- CRL快速开发框架系列教程五(使用缓存)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- CRL快速开发框架系列教程二(基于Lambda表达式查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- VC++ MFC中如何将应用程序的配置信息保存到注册表中(二)
在上一篇中介绍了几个写入注册表数据和读取注册表数据的接口,并介绍了使用方法. 这一片教你如何使得你的应用程序在下次打开时保持上一次关闭前的状态. 在上一篇添加的代码的基础上,要添加WM_CLOSE消息 ...
- MFC中使用Duilib--1
网上找到Duilib入门教程中,第一个给的时基于SDK的例子,在这里,自己写了个MFC的,与入门教程中的例子一样. 新建一个窗口类(CTestDlg) TestDlg.h内容如下: [cpp] vie ...
随机推荐
- LeapMotion(2):追踪五指
上一篇文章,我们实现了Leap Motion的简单测试.追踪其中一个手指并用红色圆形表示其在空间的位置. 这篇文章,我们来实现五指的追踪. 其实,能够实现一指的追踪,那么五指的追踪自然不成问题.但是, ...
- AIR for IOS开发问题小结
昨天终于成功地向APP STORE提交了应用,个人感觉用AIR做IOS开发就是个坑啊.出了问题之后,问苹果的技术支持,人家说“对于非XCODE环境下开发及发布所造成的问题我们在资料库中无法找到相应的解 ...
- 微软职位内部推荐-Enterprise Architect - BDE - BJ
微软近期Open的职位: Enterprise ArchitectCloud, HTML5, Big Data and Mobile are technology trends driving pro ...
- java 词法分析器
参考:http://www.cnblogs.com/yanlingyin/archive/2012/04/17/2451717.html 实现了一个简单的java词法分析器 功能:词法分析下面一段ja ...
- SAP如何使用关于序列号的表
- ubuntu下格式化内存当硬盘使的小实验
内存虚拟硬盘(ramdisk)是指通过软件技术,将物理内存进行分割,将一部分内存通过虚拟技术转变为硬盘以较大幅度提升计算机数据读取速度和保护硬盘. 在ubuntu下的dev下有ram相关的文件,这些文 ...
- [resource-]Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
reference: http://www.52nlp.cn/python-%e7%bd%91%e9%a1%b5%e7%88%ac%e8%99%ab-%e6%96%87%e6%9c%ac%e5%a4% ...
- w3c_html_study_note_5.26
xhtml+css 正确的说法 “DIV+CSS”叫法将网页制作者引入两大误区 [误区一]网页中用了Table,页面就不标准,甚至觉着用Table丢人,Table成为了判定页面是否标准的关键点. [误 ...
- PHP之list()函数讲解
定义和用法 list() 函数用数组中的元素为一组变量赋值. 注意,与 array() 类似,list() 实际上是一种语言结构,不是函数. 语法 list(var1,var2...) 参数 描述 v ...
- 01-08-02【Nhibernate (版本3.3.1.4000) 出入江湖】二级缓存:NHibernate自带的HashtableProvider
第一步骤:hibernate.cfg.xml文件补上如下配置: <?xml version="1.0" encoding="utf-8"?> < ...