opencv建立mfc程序.docVIP

  • 5
  • 0
  • 约2.95千字
  • 约 13页
  • 2018-04-30 发布于河南
  • 举报
opencv建立mfc程序

窗体顶端 窗体底端 窗体顶端 窗体底端 Open Source Computer Vision Library 论坛 商业 专题 讲座 例程 安装 常见问题 函数说明 MFC中快速应用OpenCV Wikipedia,自由的百科全书 目录 [隐藏] 1 简介和缘起 2 视频教程 2.1 介绍基本的openCV和MFC的操作 2.2 在MFC中如何应用菜单,和Canny算子的实例 3 创建SDI工程 4 加入OpenCV库支持 5 在Doc类中添加变量 6 添加虚函数 7 在View类中添加显示图像代码 8 感谢和后记以及相关讨论 9 网络其他OpenCV资源 [编辑] 简介和缘起 本教程原始讨论主题,请见 【原创】MFC中快速应用OpenCV教程,制作此教程的目的,就是为了方便广大windows下面使用MFC的用户可以轻松的在MFC窗口View类中,实现OpenCV格式图片的显示。 [编辑] 视频教程 [编辑] 介绍基本的openCV和MFC的操作 [编辑] 在MFC中如何应用菜单,和Canny算子的实例 [编辑] 创建SDI工程 我使用的是Visual C++ 6.0,因此,本教程描述的是在VC6上面演示操作,如果您使用别的版本的VC,我想应该也差不多。首先,按照VC的向导,产生一个默认的MFC的工程,注意,选择SDI单文档支持的,同时最好选择“use MFC As a static library”(防止MFC中使用OpenCV的内存泄露问题)具体请参看下面两幅图所示 就这样子一路下去之后,基本的MFC框架就创建完成了。 [编辑] 加入OpenCV库支持 现在加入openCV必须的头文件和库文件。如下图所示,我们添加库文件: cxcore.lib cv.lib highgui.lib [编辑] 在Doc类中添加变量 找到 ***Doc 也就是文档类的定义,在开头加上 HighGui.h 的头文件包含, 同时添加一个变量CImage m_image;。 注意,如果你使用的不是VC6,按照我的教程,可能编译无法通过(我的教程中,对 m_image 是设置成 protected类型的),解决的办法是将 m_image的类型设置为public,以后建议大家都使用public修饰符。具体的bug报告和分析请看这里:建议使用public修饰符 [编辑] 添加虚函数 添加两个函数,分别用来打开图片文件和保存图片文件,添加过程见下图的右键菜单。 分别添加函数OnOpenDocument 和 OnSaveDocument 如下面的代码 BOOL CSDI OpenCVDoc::OnOpenDocument(LPCTSTR lpszPathName){ if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; // TODO: Add your specialized creation code here m_image.Load(lpszPathName); return TRUE; } BOOL CSDI OpenCVDoc::OnSaveDocument(LPCTSTR lpszPathName){ // TODO: Add your specialized code here and/or call the base class m_image.Save(lpszPathName); return TRUE; // return CDocument::OnSaveDocument(lpszPathName); } 注意,上面本来是 return CDocument::OnSaveDocument(lpszPathName); 但是后来发现有问题,保存了图片,会导致保存后的图片的大小变成0了,改用 return TRUE;就没有问题了,具体请看论坛的讨论: /forum/viewtopic.php?f=1t=4932p=18215#p18215 [编辑] 在View类中添加显示图像代码 在View类中间添加必要的图片显示代码,主要是在Ondraw里面。 void CSDI_OpenCVView::OnDraw(CDC* pDC) { CSDI_OpenCVDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CImage img = pDoc -m_image; CRect r; GetClientRe

文档评论(0)

1亿VIP精品文档

相关文档