Win7系统下,VS2010关于OpenCV2.0和OpenCV2.4.3的配置

来源:互联网 发布:自动语音阅读软件 编辑:程序博客网 时间:2024/06/06 17:13

电脑从xp升级到了win7,所有的软件都又重新装了一遍,好久以前配置过VS2008+OpenCV2.0和VS2010+OpenCV2.4.3。但是都忘差不多了,现在电脑只装了VS2010,想把OpenCV2.0和OpenCV2.4.3都配置上,于是各种搜素,总算搞定了,现在回过头来总结一下,方便以后自己看,同时也可以给需要的人一点参考。


在VS2008及更早的环境下配置OpenCV,建立工程配置好之后,再新建工程就不用重新配置了;如果VS2010下也用相同的方法配置OpenCV,每次建新工程都要重新配置,很是麻烦。当然也有一劳永逸的方法,下面就两种OpenCV版本分别讲述这种不用重复配置的方法。

--------------------------------------------------------------------------------------------------------------------

一、VS2010+OpenCV2.4.3

      1.下载OpenCV2.4.3,网址:http://wiki.opencv.org.cn/index.php/Download 。然后一路”下一步“解压到电脑上,我的电脑安装路径为:“D:\Lib\OpenCV\2.4.3”。

      2.添加到环境变量:右击“计算机”->“属性”->“高级系统设置”->“高级”->“环境变量”->“编辑用户变量”。把“D:\Lib\OpenCV\2.4.3\build\x64\vc10\bin”和“D:\Lib\OpenCV\2.4.3\build\x86\vc10\bin”添加进去。我把x86和x64都放进去了,编32位和64位程序都能用。如图,

                                

      3.VS2010下配置OpenCV2.4.3。随便打开一个工程或者新建一个工程,点击 “View”->"Property Manager",打开属性管理器。如图,

右击"Microsoft.Cpp.Win32.user"->"Properties",打开属性页,点击"VC++Directories",在右边

Include Directories下增加:D:\Lib\OpenCV\2.4.3\build\include; D:\Lib\OpenCV\2.4.3\build\include\opencv;                                                             D:\Lib\OpenCV\2.4.3\build\include\opencv2;

Library Directories下增加:D:\Lib\OpenCV\2.4.3\build\x86\vc10\lib; D:\Lib\OpenCV\2.4.3\build\x64\vc10\lib;

如图所示,

至于依赖项我习惯在c++源文件里面包含,如:"#pragma comment(lib, "opencv_core243d.lib")",这样方便知道每次程序依赖于哪些库。当然也可以在vs2010里面设置,在"Solution Explorer"视图下,右击工程文件名,"Properties"->"Linker"->"Input",在右边的"Additional Dependencies"中添加依赖项,Debug下如:opencv_core243d.lib;opencv_imgproc243d.lib;opencv_highgui243d.lib;                               opencv_objdetect243d.lib;等等。Release下的配置和Debug下的一样,只是添加依赖项时把“d”去掉就行,如"opencv_core243d.lib"换成"opencv_core243.lib"就OK了。

----------------------------------------------------------------------------------------------------------------------

二、VS2010+OpenCV2.0

OpenCV2.0的配置要相对麻烦一些,因为下载的OpenCV要先CMake,然后用VS编译生成库。剩下的配置就基本和上面一样了。具体过程如下:

     1.下载OpenCV2.0,网址:http://wiki.opencv.org.cn/index.php/Download 。然后一路”下一步“解压到电脑上,我的电脑安装路径为:“D:\Lib\OpenCV\2.0.0”。

     2.下载CMake2.8.12.2,Windows(win32 Installer),网址:http://www.cmake.org/cmake/resources/software.html 。然后一路”下一步“安装到电脑上。

     3.用CMake导出VC++项目文件,

      (1).运行cmake-gui,设置路径为OpenCV安装路径(本文档假定安装位置为:D:\Lib\OpenCV\2.0.0),并创建子目录     D:\Program Files\OpenCV2.0\VS2010,用于存放编译结果。

      (2).然后点 configure,在弹出的对话框内选择 Visual Studio 10。

      (3).完成后选择“Generate”。

如图所示,

    4.编译OpenCV Debug和Release版本库。

      在刚才生成的VS2010文件夹下,双击打开“OpenCV.sln”,然后按"ctrl+F"查找"back_inserter",找到相应的.cpp文件,分别为:"cvmodelest.cpp"和"cvhog.cpp"两个文件。分别在他们的头文件里面添加:"#include <interator>",然后保存。如图,

                 



     (1)在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择                     INSTALL项目,运行"Build"。

     (2)在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择                   INSTALL项目,运行"Build"。

此时,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)将出现在D:\Lib\OpenCV\2.0.0\VS2010\bin目录中;OpenCV的*d.lib文件(for debug)和*.lib文件(for release)将出现在D:\Lib\OpenCV\2.0.0\VS2010\lib目录;头文件*.h出现在D:\Lib\OpenCV\2.0.0\VS2010\include\opencv中。

可以被VS2010调用的OpenCV动态库生成完毕。


      5.添加到环境变量:右击“计算机”->“属性”->“高级系统设置”->“高级”->“环境变量”->“编辑用户变量”。把“D:\Lib\OpenCV\2.0.0\VS2010\bin”添加进去。如图,

               

      6.VS2010下配置OpenCV2.0.0。下面的过程和配置OpenCV2.4.3就完全一样了。随便打开一个工程或者新建一个工程,点击 “View”->"Property Manager",打开属性管理器。如图,

           

右击"Microsoft.Cpp.Win32.user"->"Properties",打开属性页,点击"VC++Directories",在右边

Include Directories下增加:D:\Lib\OpenCV\2.0.0\VS2010\include\opencv; 

Library Directories下增加:D:\Lib\OpenCV\2.0.0\VS2010\lib; 

如图所示,

至于依赖项我习惯在c++源文件里面包含,如:"#pragma comment(lib, "cv200d.lib")",这样方便知道每次程序依赖于哪些库。当然也可以在vs2010里面设置,在"Solution Explorer"视图下,右击工程文件名,"Properties"->"Linker"->"Input",在右边的"Additional Dependencies"中添加依赖项,Debug下如:cv200d.lib;cvaux200d.lib;cxcore200d.lib;highgui200d.lib;ml200d.lib;等等。Release下的配置和Debug下的一样,只是添加依赖项时把“d”去掉就行,如"cv200d.lib"换成"cv200.lib"就OK了。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Over,本人第一篇blog,不足之处还望大家不吝指教!



0 0