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 ...
随机推荐
- 拥抱ARM妹纸第二季 之 第二次 约会需要浪漫,这么大灯泡怎么弄?
终于轮到俺的小穆出场啦.有请能让太阳也为之暗淡的小穆闪亮登场-,鼓掌吧,欢呼吧!-- ♪♪ We can burn brighter Than the sun ~~~ ♪♪ “谢谢---“ 唱的太棒啦 ...
- Linux磁盘空间爆满,MySQL无法启动
OS: Cent OS 6.3 DB: 5.5.14 看到一个帖子,在服务器上安装了oracle和mysql数据库,mysql数据库忘记开启innodb_file_per_table,导致插入测试数据 ...
- Oracle重建表索引及手工收集统计信息
Oracle重建所有表的索引的sql: SELECT 'alter index ' || INDEX_NAME || ' rebuild online nologging;' FROM USER_IN ...
- 虚拟机Linux下找不到/dev/cdrom
问题描述: 笔者欲更新一下VMwareTools,结果发现虚拟机Linux上找不到设备"/dev/cdrom",当然也就不能通过命令"mount /dev/cdrom / ...
- 【css老版本浏览器兼容利器】ie-css3.htc
做前端的同学都应该听说或者用过,是一段脚本,可以让ie实现css3里的圆角和阴影效果. css带来的便利是很容易感受的到的,但恶心的是它在ie下的不兼容,所以某位牛人现身写了个ie-css3.htc, ...
- HTTP - 内容编码
HTTP 应用程序有时在发送之前需要对内容进行编码.例如,在把很大的 HTML 文档发送给通过慢速连接上来的客户端之前,服务器可能就会对它进行压缩,这样有助于减少传输实体的时间. 内容编码过程 内容编 ...
- 无法将 flash.display::Sprite@156b7b1 转换为 mx.core.IUIComponent
无法将 flash.display::Sprite@156b7b1 转换为 mx.core.IUIComponent 在Flex Application里,是不能直接用addChild添加Sprite ...
- BZOJ3473: 字符串
3473: 字符串 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 109 Solved: 47[Submit][Status] Descriptio ...
- Ignore files which are already versioned
If you accidentally added some files which should have been ignored, how do you get them out of vers ...
- linux源代码阅读笔记 find_entry分析
78 static struct buffer_head * find_entry(struct m_inode * dir, 79 const char * name, int namelen, s ...