在MFC框架快速应用OpenCV
版本1,作者:ollydg23 日期:11/29/08
Contents
1 创建SDI工程 1
2 加入OpenCV库支持 2
3 在Doc类中添加变量 3
4 添加虚函数 3
5 View类中添加显示图片代码 4
6 感谢和后记 5
1 创建SDI工程
我使用的是Visual C++ 6.0,因此,本教程描述的是在VC6上面演示操作,如果
您使用别的版本的VC,我想应该也差不多。
首先,按照VC的向导,产生一个默认的MFC的工程,注意,选择SDI单文档支
持的,同时最好选择“use MFC As a static library”1。
1以避免一些MFC中的memory leak的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
1
Figure 1: VC 向导,选择MFC APPWizard
Figure 2: VC向导,选择single document
就这样子一路下去之后,基本的MFC框架就创建完成了。
2 加入OpenCV库支持
现在加入openCV必须的头文件和库文件。如下图所示,我们添加库文件:
cxcore.lib cv.lib highgui.lib
2
Figure 3: 添加lib文件
3 在Doc类中添加变量
Figure 4: 加入变量m image
并且在开头加上 HighGui.h 的头文件包含, 同时添加一个变量 “CImage
m image;”。
4 添加虚函数
添加两个函数,分别用来打开图片文件和保存图片文件,添加过程见下图的右
键菜单。
3
Figure 5: 右键添加虚函数
如上图所示,添加虚函数,分别添加:
Algorithm 1 打开文件
BOOL CSDI OpenCVDoc::OnOpenDocument(LPCTSTR lpszPathName) f
if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE;
// TODO: Add your specialized creation code here
m image.Load(lpszPathName);
return TRUE;
g
Algorithm 2 保存文件
BOOL CSDI OpenCVDoc::OnSaveDocument(LPCTSTR lpszPathName) f
// TODO: Add your specialized code here and/or
call the base class
m image.Save(lpszPathName);
return CDocument::OnSaveDocument(lpszPathName);
g
5 View类中添加显示图片代码
在View类中间添加必要的图片显示代码,主要是在Ondraw里面。
4
Algorithm 3 显示图片的代码
void CSDI OpenCVView::OnDraw(CDC* pDC) f
CSDI OpenCVDoc* pDoc = GetDocument (); AS-
SERT VALID(pDoc);
// TODO: add draw code for native data here
CImage & img = pDoc ->m image;
CRect r; GetClientRect (&r);
img.DrawToHDC(pDC->GetSafeHdc() ,r);
g
编译整个程序,就可以通过“打开菜单”打开图像并且显示在MFC的View类
中了。
Figure 6: 打开后的lena图片
6 感谢和后记
� 有了此
模板
个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载
,我想在MFC中使用OpenCV的别的操作应该都不是很困难。
� 本教程的书写,得到了 LYX–一个所见即所得的latex编辑器,以及中文
tex论坛的MiCtex软件包的支持,对此表示感谢。
5
� 同时,也得到了OpenCV中国社区广大网友的支持和帮助,对此也表示感
谢。
6
1 创建SDI工程
2 加入OpenCV库支持
3 在Doc类中添加变量
4 添加虚函数
5 View类中添加显示图片代码
6 感谢和后记