MFC中快速应用OpenCV
Wikipedia,自由的百科全书
(修订版本间差异)
14:36 2008年12月19日的修订版本 Ollydbg23 (Talk | 贡献) 在Doc类中添加变量 ← Previous diff |
14:46 2008年12月19日的修订版本 Ollydbg23 (Talk | 贡献) 添加虚函数 Next diff → |
||
第 17行: | 第 17行: | ||
==添加虚函数== | ==添加虚函数== | ||
+ | 添加两个函数,分别用来打开图片文件和保存图片文件,添加过程见下图的右键菜单。 | ||
+ | |||
+ | [[Image:Mfc opencv 04.jpg]] | ||
+ | |||
+ | [[Image:Mfc opencv 05.jpg]] | ||
+ | |||
+ | 分别添加函数OnOpenDocument 和 OnSaveDocument 如下面的代码 | ||
+ | |||
+ | <c>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; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | <c>BOOL CSDI OpenCVDoc::OnSaveDocument(LPCTSTR lpszPathName){ | ||
+ | // TODO: Add your specialized code here and/or call the base class | ||
+ | m_image.Save(lpszPathName); | ||
+ | return CDocument::OnSaveDocument(lpszPathName); | ||
+ | } | ||
+ | </c> | ||
==在View类中添加显示图像代码== | ==在View类中添加显示图像代码== |
14:46 2008年12月19日的修订版本
目录 |
创建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;。
添加虚函数
添加两个函数,分别用来打开图片文件和保存图片文件,添加过程见下图的右键菜单。
分别添加函数OnOpenDocument 和 OnSaveDocument 如下面的代码
<c>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;
} </c>
<c>BOOL CSDI OpenCVDoc::OnSaveDocument(LPCTSTR lpszPathName){
// TODO: Add your specialized code here and/or call the base class m_image.Save(lpszPathName); return CDocument::OnSaveDocument(lpszPathName);
} </c>
在View类中添加显示图像代码
代码下载
感谢和后记
- 文档由User:Ollydbg23撰写
- 代码由...提供