因为要运行跟踪算法TLD(Tracking-Learning-Detection)的程序,而在作者网站上(http://personal.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html)下载的程序需要用到opencv2.2.0(64bit version),所以我自己探索了以下编译opencv2.2.0(64bit version)的过程:
注:运行struck(Struck:Structured Output Tracking with Kernels)程序需要opencv2.1(64bit version),而编译opencv2.1的过程与本过程相同,区别在于:生成项目文件时,将opencv2.2.0的源代码换成opencv2.1的源代码。
编译准备:
1、 用到的环境或者工具为:win7 64bit + VS2010(x86)+ cmake2.8.1(win32 x86),这些工具相信读者可以自行搜索到,在此不作详述;
2、opencv2.2.0源代码可以在opencv官网上下载到:http://opencv.org/downloads.html ,注:下载opencv for windows即可,不用下载VC2010 special pack;
3、编译过程还要用到tbb工具箱,下载地址:https://www.threadingbuildingblocks.org ,我用的是tbb4.3;
生成项目文件:
1、安装(解压)tbb,将tbb的bin路径(比如:D:\tbb43\bin\intel64\vc10)添加到计算机的环境变量的path中(如图1所示),重启计算机;
图1
2、将下载到的opencv2.2.0源代码解压到E盘(注:任何盘符皆可);
3、打开cmake,如图2所示,将Where is the source code浏览到opencv源代码所在位置(比如:“E:\OpenCV2.2.0”),然后设置Where to build the binaries路径,比如:“E:\opencv2.2.0(x64)”;
图2
4、点击configure,在弹出的框中选择Visual Studio 10 Win64,点击finish,如图3所示;
图3
5、在弹框中勾选BUILD_EXAMPLES和WITH_TBB,点击configure,如图4所示;
图4
6、如图5所示,在弹出的框中,将TBB_INCLUDE_DIR的Value设置为tbb的include路径,点击configure;
图5
7、如图6所示,在弹出的框中,将TBB_LIB_DIR的Value设置为tbb的lib路径,点击configure;
图6
8、再次弹出的框中不会再有红色,点击generate即可成功生成项目文件,如图7所示,表示成功生成;
图7
编译生成目标文件:
1、用VS2010打开项目文件中的OpenCV.sln,将选项卡切换到“property manager”,展开“ALL_BUILD > Debug|x64 > Microsoft.Cpp.x64.user ” 右击选择“properties > common properties > VC++ Directories”,如图8所示,依次将tbb的Executable Directories(“D:\tbb43\bin\intel64\vc10”)、Include Directories(“D:\tbb43\include”)、Library Directories(“D:\tbb43\lib\intel64\vc10”)添加进去,点击确定;
图8
2、选项卡切回到“solution explorer”,操作如图9所示,在Debug模式下,Rebuild "Solution 'OpenCV'";
图9
3、编译完成之后,如图10操作,Build INSTALL;
图10
4、将编译模式切换为”Release“,如图11所示;
图11
5、重复Debug模式下的步骤,即Rebuild "Solution 'OpenCV'"和Build "INSTALL";
6、至此,opencv2.2.0编译完成;
读者可以自己去网上下载程序验证opencv2.2.0是否编译成功。