论坛上看到非常经典的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中增加代码:

  1. if(!CDocument::OnOpenDocument(lpszPathName))  return false;
  2. m_image.Load(lpszPathName);
  3. return true;

8. 同6,7步增加OnSaveDocument代码:

  1. m_image.Save(lpszPathName);
  2. return true;

9. 在CMFCtestView中的OnDraw中在原有代码基础上修改为:
(注意首先把OnDraw的参数改为CDC* pDC)

  1. CMFC_testDoc* pDoc = GetDocument();
  2. ASSERT_VALID(pDoc);
  3. if (!pDoc)
  4. return;
  5. CImage & img = pDoc ->m_image;
  6. CRect r;
  7. GetClientRect (&r);
  8. img.DrawToHDC(pDC->GetSafeHdc() ,r);

10.运行正常

from: http://blog.csdn.net/abcjennifer/article/details/7215765

MFC中快速应用OpenCV教程的更多相关文章

  1. 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 简介和缘 ...

  2. MFC中的CDC详细教程

    参考:  MFC中的CDC详细教程1,2,3 StretchDIBits用法

  3. MWeb for Mac使用教程-如何在文档库中快速搜索

    使用MWeb for Mac专业的 Markdown 编辑写作软件,可以让你随时记录自己的想法,灵感,创意,为您的工作节省宝贵的时间.本篇文章带来的是MWeb for Mac如何在文档库中快速搜索使用 ...

  4. duilib进阶教程 -- 在MFC中使用duilib (1)

    由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...

  5. CRL快速开发框架系列教程七(使用事务)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  6. CRL快速开发框架系列教程五(使用缓存)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. CRL快速开发框架系列教程二(基于Lambda表达式查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. VC++ MFC中如何将应用程序的配置信息保存到注册表中(二)

    在上一篇中介绍了几个写入注册表数据和读取注册表数据的接口,并介绍了使用方法. 这一片教你如何使得你的应用程序在下次打开时保持上一次关闭前的状态. 在上一篇添加的代码的基础上,要添加WM_CLOSE消息 ...

  9. MFC中使用Duilib--1

    网上找到Duilib入门教程中,第一个给的时基于SDK的例子,在这里,自己写了个MFC的,与入门教程中的例子一样. 新建一个窗口类(CTestDlg) TestDlg.h内容如下: [cpp] vie ...

随机推荐

  1. java之其它命令

    java编译命令 javac: javac -d <目录> 源文件.java 指定存放生成的class文件的路径命令行下编译带包名的java源文件: javac -d . XX.java ...

  2. java的JVM机制

    1.jre:java运行环境 提供一个JVM和一些基础类库.2.只安装jre以后,机器就具备了运行java程序的条件.但是不具备开发java程序的条件.安装JDK以后,在c:/program file ...

  3. 自定义Adapter

    --MainActivity代码 package com.example.qqdemo; import java.util.ArrayList; import java.util.List; impo ...

  4. Mysql 实例分析连接

    表A记录如下: aID        aNum 1           a20050111 2           a20050112 3           a20050113 4          ...

  5. 【nodejs】json value出现 undefined 将会无法解析 问题来了

    如果 value 的值就要 undefined  怎处理呢?

  6. .NET中class和struct的区别

    1.引言 提起class和struct,我们首先的感觉是语法几乎相同,待遇却天壤之别.历史将接力棒由面向过程编程传到面向对象编程,class和struct也背负着各自的命运前行.在我认为,struct ...

  7. Java 线程池框架核心代码分析

    前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和资源消耗都是很高的.线程池应运而生,成为我们管理线程的利器.Java 通过Executor接口,提供了一种标准的方法将任务的提交过 ...

  8. return的用法

    1.一般的就是用在有返回值的方法中,用来返回方法指定类型的值,同时结束方法执行: 2.可以用在返回值为void的方法中,用来终止方法运行:

  9. PHP获取mysql数据表的字段名称和详细信息的方法

    首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: 代码如下: SHOW DATABASES                                //列出 MySQL Serv ...

  10. DRLSE 水平集算法总结

    背景: Level Set方法是美国数学家Osher(加州大学洛杉矶分校)和Sethian(加州大学伯克利分校)合作提出的.后者因为对Level Set的贡献获得了去年美国数学会与工业应用数学会联合颁 ...