现在的位置: 首页 > 综合 > 正文

VC6.0下安装Opencv1.0并检验安装是否成功

2018年02月09日 ⁄ 综合 ⁄ 共 3089字 ⁄ 字号 评论关闭

VC6下安装与配置OpenCV1.0

本手册适应 OpenCV 1.0 安装。

目录

[隐藏]

安装Visual C++ 6.0

注:截止2010年4月4日,还没有在VC6.0下成功使用opencv2.0的案例。采用VC6.0的用户请采用opencv1.0版本

安装OpenCV

http://www.opencv.org.cn 下载OpenCV安装程序。假如要将OpenCV安装到C:\Program Files\OpenCV。(下面附图为OpenCV 1.0rc1的安装界面,OpenCV 1.0安装界面与此基本一致。)在安装时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bin
to the systerm PATH)。

Image:Opencv-install-step1.pngImage:Opencv-install-step2.pngImage:Opencv-install-step3.pngImage:Opencv-install-step4.png

配置Windows环境变量

检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe)

Image:Path-envirionment-var1.pngImage:Path-envirionment-var2.png

配置Visual C++ 6.0

全局设置

菜单Tools->Options->Directories:先设置lib路径,选择Library files,在下方填入路径:

C:\Program Files\OpenCV\lib

然后选择include files,在下方填入路径:

C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\include

Image:VC-directories-setting.png

然后选择source files,在下方填入路径:

C:\Program Files\OpenCV\cv\src
C:\Program Files\OpenCV\cxcore\src
C:\Program Files\OpenCV\cvaux\src
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\src\windows

最后点击“ok”,完成设置。

项目设置

每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上

cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

如果你不需要这么多lib,你可以只添加你需要的lib。Image:VC-project-setting.png

原文请参考:http://www.opencv.org.cn/index.php/VC6%E4%B8%8B%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AEOpenCV1.0

检测下是不是安装好了Opencv的方法可以在VC6.0中建立一个工程。步骤如下在MFC框架快速应用OpenCV

创建SDI工程(源码下载地址:http://download.csdn.net/detail/gexiaochuan122/5093162)

我使用的是Visual C++ 6.0,因此,本教程描述的是在VC6上面演示操作,如果您使用别的版本的VC,我想应该也差不多。首先,按照VC的向导,产生一个默认的MFC的工程,注意,选择SDI单文档支持的,同时最好选择“use MFC As a static library”(防止MFC中使用OpenCV的内存泄露问题)具体请参看下面两幅图所示
Image:Mfc_opencv_01.JPG
Image:Mfc_opencv_02.JPG
就这样子一路下去之后,基本的MFC框架就创建完成了。

加入OpenCV库支持

现在加入openCV必须的头文件和库文件。如下图所示,我们添加库文件:cxcore.lib cv.lib highgui.lib
Image:Mfc_opencv_06.JPG

在Doc类中添加变量

Image:Mfc_opencv_07.jpg
找到 ***Doc 也就是文档类的定义,在开头加上 HighGui.h 的头文件包含, 同时添加一个变量CImage m_image;

注意,如果你使用的不是VC6,按照我的教程,可能编译无法通过(我的教程中,对 m_image 是设置成 protected类型的),解决的办法是将 m_image的类型设置为public,以后建议大家都使用public修饰符。具体的bug报告和分析请看这里:建议使用public修饰符

添加虚函数

添加两个函数,分别用来打开图片文件和保存图片文件,添加过程见下图的右键菜单。

Image:Mfc opencv 04.jpg

Image:Mfc opencv 05.jpg

分别添加函数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;就没有问题了,具体请看论坛的讨论:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=4932&p=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;
	GetClientRect (&r);
		img.DrawToHDC(pDC->GetSafeHdc() ,r);
}

编译整个程序,就可以通过“打开菜单”打开图像并且显示在MFC的View类中了。

Image:Mfc_opencv_08.jpg

原文请参考:http://www.opencv.org.cn/index.php/MFC%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%BA%94%E7%94%A8OpenCV

抱歉!评论已关闭.