VS2010+OpenCV2.3.1+_Win7_的配置过程

来源:互联网 发布:阿里云os6.0下载 编辑:程序博客网 时间:2024/05/21 17:59

要用VC++做图像处理那么首先就要安装相应的开发环境

首先是VS2010

其次是Opencv2.3.1

还有是CMake2.8.8

准备下载开发软件

 

首先下载

到网上搜索下载破解版VS2010 旗舰版,然后安装,我的安装目录是默认路径;

然后网上搜索Opencv2.3.1,最好到英文官网下载最新版本(官网上有好多平台的版本,我这里下载的是for windows  OpenCV-2.3.1-win-superpack.exe,其实这个exe包只是个自解压的文件包,并不是安装软件的那种,根据自己的需要选择解压目录即可,我的目录是C:\Program Files\opencv

这个OPENCV包只是一些源文件和一些库文件和一些动态库DLL,之类的。需要我们用CMake编译之后才能用。

然后网上到CMake官网下载最新版本的CMake,我的是这个版本cmake-2.8.8-win32-x86.exe

这个需要安装,默认路径即可。创建桌面快捷方式。

一切准备就绪。

 

CMake导出VC++项目文件

步骤1:在CMAKE的界面中输入源码路径(Where is the source code)和目标路径(where to build the binaries)。

VS2010+OpenCV2.3.1+_Win7_的配置过程

 

源码路径就是opencv安装的路径,我的是C:\Program Files\opencv

目标路径就是要编译之后我们要用到的源码库之类的路径,我的是C:\Program Files\opencv\binary

 

步骤2:点击【Configure】按钮,在弹出对话框中选择编译软件,如Visual sudio 10

VS2010+OpenCV2.3.1+_Win7_的配置过程

 

步骤3:点击下图中的【Generate,开始编译

VS2010+OpenCV2.3.1+_Win7_的配置过程

步骤4Cmake编译结束界面,(再次点击【Configure】,红色消失)

VS2010+OpenCV2.3.1+_Win7_的配置过程

 

编译 OpenCV DebugRelease版本库

DebugRelease区别

一、Debug  Release 的区别

        Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

     Debug  Release 的真正区别,在于一组编译选项。

Debug 版本  

参数       含义  

/MDd /MLd  /MTd 使用 Debug runtime library(调试版本的运行时刻函数库 

/Od 关闭优化开关  

/D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对assert函数 

/ZI  

创建 Edit and continue(编辑继续)数据库,这样在调试过程中如果修改了源代码不需重新编译  

GZ 可以帮助捕获内存错误 

 

Release 版本 参数含义  

/MD /ML  /MT 使用发布版本的运行时刻函数库  

/O1  /O2 优化开关,使程序最小或最快  

/D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数 

/GF 合并重复的字符串,并将字符串常量放到只读内存,防止被修改 

 

 

Debug  Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。

完成上一步骤后,将在C:\Program Files\opencv\binary目录下生成OpenCV.slnVC Solution File,用VC++ 2010打开OpenCV.sln,然后执行如下操作:

步骤1:在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"调试--》开始调试"

几分钟后,调试完成,调试速度依据个人电脑

步骤2:Release下,选择Solution Explorer里的 Solution OpenCV,点击三角号,运行"启动调试"

VS2010+OpenCV2.3.1+_Win7_的配置过程

同样几分钟后调试完成


 

此时,OpenCVopencv_*d.dll文件(for debug)和opencv_*.dll文件(for release)将出现在C:\Program Files\opencv\binary \bin目录中;OpenCVopencv_*d.lib文件(for debug)和opencv_*.lib文件(for release)将出现在C:\Program Files\opencv\binary \lib目录;头文件*.h出现在C:\ Opencv2.3.1_vs2010\include\opencv中。

到此,可以被VC++ 2010调用的OpenCV动态库生成完毕。

步骤3:复制C:\Program Files\opencv\binary中的bin和lib目录到C:\Program Files\opencv\目录下;

复制C:\Program Files\opencv\build\include下的两个文件夹到C:\Program Files\opencv\include文件夹下,复制和替换。

 

设置Windows环境变量

用户工程运行时,需要调用OpenCV动态链接库,因而需要添加Windos动态链接库路径。

步骤1:进入“我的电脑--属性”,高级,环境变量,用户变量,如图所示

VS2010+OpenCV2.3.1+_Win7_的配置过程

 

步骤2

       添加变量名为“path”,变量值为C:\Program Files\opencv\build\x86\vc10\bin;C:\Program Files\opencv\bin\Debug\;C:\Program Files\opencv\bin\Release\的用户环境变量。如果“path”已经存在,选择编辑,在原变量值后添加,以分号“;”隔离路径名。


 

OpenCVvs2010环境配置

步骤1 :打开 vs2010,文件--新建--项目

VS2010+OpenCV2.3.1+_Win7_的配置过程


输入项目名称,下一步,完成。切换到VS2010左下角的标签,选择属性管理器(从菜单【视图】->属性管理器);

VS2010+OpenCV2.3.1+_Win7_的配置过程


VS2010+OpenCV2.3.1+_Win7_的配置过程


 

步骤2 在弹出的属性页中设置VC++目录。该设置方法对所有VC++项目都有效。

需要修改包含目录include files、库目录library files到用CMake导出VC++项目文件的相关目录。

本例子:

包含目录下添加后为:

VS2010+OpenCV2.3.1+_Win7_的配置过程
在Debug下:库目录添加:C:\Program Files\opencv\lib\Debug

      在Release 下,库目录添加:C:\Program Files\opencv\lib\Release

 

步骤3 添加lib库文件

VS2010+OpenCV2.3.1+_Win7_的配置过程
链接器---输入---附加 依赖项 

在Debug下:

添加:opencv_calib3d231d.lib

opencv_contrib231d.lib

opencv_core231d.lib

opencv_features2d231d.lib

opencv_flann231d.lib

opencv_gpu231d.lib

opencv_haartraining_engined.lib

opencv_highgui231d.lib

opencv_imgproc231d.lib

opencv_legacy231d.lib

opencv_ml231d.lib

opencv_objdetect231d.lib

opencv_ts231d.lib

opencv_video231d.lib


在Relase 下,添加:

 

opencv_calib3d231.lib

opencv_contrib231.lib

opencv_core231.lib

opencv_features2d231.lib

opencv_flann231.lib

opencv_gpu231.lib

opencv_haartraining_engine.lib

opencv_highgui231.lib

opencv_imgproc231.lib

opencv_legacy231.lib

opencv_ml231.lib

opencv_objdetect231.lib

opencv_ts231.lib

opencv_video231.lib

配置完成

OpenCV例程

 

#include "stdafx.h"

#include "highgui.h"

//using namespace cv;

 int _tmain(int argc, _TCHAR* argv[])

   const char* imagename = "D:\\Demo.jpg";

    cv::Mat img = cv::imread(imagename);

    if(img.empty())

    {  fprintf(stderr, "Can not load image %s\n", imagename);

        return -1;

    }

    if( !img.data )

        return -1;

    cv::namedWindow("image", CV_WINDOW_AUTOSIZE);

    cv::imshow("image", img);

    cv::waitKey();

    return 0;

}

调试---启动调试

如果成功的话就会打开本地D盘的一张名为Demo的图片

VS2010+OpenCV2.3.1+_Win7_的配置过程

出处:http://blog.sina.com.cn/s/blog_68ed8b21010163uc.html













原创粉丝点击