VS2010编译安装OpenCV2.4.3

来源:互联网 发布:视频设置背景音乐软件 编辑:程序博客网 时间:2024/05/21 17:28

本文讲述如何在VS2010下重新编译OpenCV2.4.3,本文系统环境为Windows XP SP3,VS2010旗舰版。


一:下载


1:OpenCV2.4.3,本人已下载好OpenCV-2.4.3.exe http://www.opencv.org.cn/index.php/Download


2:下载CMAKE最新版cmake-2.8.10.2-win32-x86.exe http://www.cmake.org/cmake/resources/software.html,注意下载Win32 Installer安装文件


3:下载Intel Tbb最新版本 tbb41_20121003oss_win.zip http://threadingbuildingblocks.org/download,点击下载Windows OS文件


二:安装


1:将下好的OpenCV2.4.3进行解压,如解压到D:\OpenCV2.4.3,然后在此目录中创建子文件夹vs2010,用来存放编译结果。


2:安装CMAKE,选择Add CMake to the system PATH for all users。


3:解压Intel Tbb,如解压到D:\Intel Tbb4.1(本文下载的是Tbb4.1)。


并将D:\Intel Tbb4.1\bin\ia32\vc10加入到系统的环境变量PATH中,加入后进行系统注销并重新登录(这步可有可无)。


4:运行cmake-gui,在Where is the source code中填写OpenCV2.4.3的安装目录(也即上面解压OpenCV2.4.3时的目录),在Where to build the binaries里填写前面建立的子文件夹,本文目录设置如下图所示:


接着点击Configure按钮,在出现的对话框中选择Visual Studio 10(如果是64位机器,要选择Visual Studio 10 Win64),下面的选项为Use default native compilers。


点击Finish继续。过一会儿之后会出现一个配置窗口。


选中常见的几个需要配置的选项,勾选BUILD_SHARED_LIBS,BUILD_TESTS,OPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPER,WITH_JPEG,WITH_PNG,WITH_TBB(一般这个没默认选上),和WITH_TIFF选项。勾好后再次点击Configure,之后再配置窗口最上面会出现TBB_INCLUDE_DIR-NOTFOUND字样的红色选项,此处为CMAKE找不到INTEL TBB的包含文件为之所致,将INTEL TBB 3.0里面的INCLUDE文件夹路径(注意是INCLUDE,不是INCLUDE里面的子文件夹)定位到该配置属性的路径里,再次点击Configure,在TBB_LIB_DIR处又会出现红色一行,此处为INTEL TBB的库文件位置,此处必须将路径定位到含有LIB文件的位置,比如我的安装位置是D:\Intel Tbb4.1\lib\ia32\vc10,也就是说,在lib文件夹下会有子文件夹,必须定位到子文件夹对应的VC版本文件夹里去,这里由于是配置VS2010,所以我们选择VC10文件夹,ia32子文件夹是32位系统,此处应根据对应操作系统选择。然后,我们再次点击Configure,此时所有红色行已经变为白色,同时在下方的信息里面会有一条为Use TBB:YES的字样,证明我们已经将INTEL TBB配置完毕,然后点击Generate。


5:用VS2010打开OpenCV2.4.3安装目录中vs2010文件夹下的OpenCV.sln,出现OpenCV2.4.3的所有工程项目,先不要急着编译。


在Solution Explorer中一直向下拉,找到ALL_BUILD一项。


在ALL_BUILD上按右键,选择Properties(属性),然后选择VC++ Directories(VC++目录),在Executable Directories(可执行文件目录)里面将INTEL TBB 3.0的可执行路径(bin)填写到里面,此处与LIB一样,必须定位到VC10才可以,例如我的是D:\Intel Tbb4.1\bin\ia32\vc10;将Include Directories(包含目录)定位到Intel TBB的Include文件夹即可,无需再往深入定位,如D:\Intel Tbb4.1\include;在Library Directories(库目录)里填写Intel TBB的LIB文件位置,定位到VC10文件夹,如D:\Intel Tbb4.1\lib\ia32\vc10。


单击确定之后,将选项卡切回到Solution Explorer(解决方案资源管理器),将编译模式切换为Debug模式,右键单击Solution OpenCV(解决方案OpenCV),选择Rebuild Solution(重新生成解决方案),编译后再右键单击INSTALL项目,选择Build(生成)。


将编译模式切换为Release,按照Debug模式下重新进行配置(Tbb也要进行配置,即ALL_BUILD也要再配置一遍)。


完成后在你的解决方案文件夹D:\OpenCV2.4.3\vs2010里面会生成bin目录,include目录,lib目录。


三:配置


1:建立Win32 Console工程,比如本文建立Test_1工程,建立一个文件,用来显示一幅图片。


2:右键单击Solution Explorer下的Test_1,选择属性(Properties)。


选择编译模式为Release,选择VC++ Directories,分别配置右侧的Executable Directories,Include Directories,Library Directories。


然后在Linker下的Input下,打开Additional Dependencies,添加如下内容:opencv_calib3d243.lib;opencv_contrib243.lib;opencv_core243.lib;opencv_features2d243.lib;opencv_flann243.lib;opencv_gpu243.lib;opencv_highgui243.lib;opencv_imgproc243.lib;opencv_legacy243.lib;opencv_ml243.lib


opencv_objdetect243.lib;opencv_ts243.lib;opencv_video243.lib。注意一行一个,不要加分号。


再选择Debug模式,同样进行配置。


在进行Debug模式下的Additional Dependencies配置时,要注意文件名不同:opencv_calib3d243d.lib;opencv_contrib243d.lib;opencv_core243d.lib;


opencv_features2d243d.lib;opencv_flann243d.lib;opencv_gpu243d.lib;opencv_highgui243d.lib;opencv_imgproc243d.lib;opencv_legacy243d.lib;


opencv_ml243d.lib;opencv_objdetect243d.lib;opencv_ts243d.lib;opencv_video243d.lib。。


3:将以下加入到环境变量中:


D:\Intel Tbb4.1\bin\ia32\vc10;D:\OpenCV2.4.3\vs2010\install\bin;


四:测试:


建立如下文件:


#include <opencv2/opencv.hpp>


using namespace std;


using namespace cv;


int main(int argc, char* argv[])


{


const char* imagename = "lena.jpg";


Mat img = imread(imagename);


if(img.empty())


{


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


return -1;


}


imshow("image", img);


waitKey();


return 0;


}


将图片lena.jpg放到当前工程目录下,运行。


至此,完整的Visual Studio 2010下编译配置OpenCV2.4.3成功。


完整的图文版如下:






0 0