这篇文章是安装OpenCV3.2.0的扩展库opencv_contrib-3.2.0的介绍。
一、先说使用的配置环境及准备工作:
1.OpenCV-3.2.0-vc14
2.opencv_contrib-3.2.0下载:https://github.com/opencv/opencv_contrib/releases
3.vs2015
4.cmake下载:http://www.cmake.org/,点右上角的Download,我选的是cmake-3.8.0-win64-x64.zip(免安装):
5.新建文件夹命名为mybuildopencv3.2.0,用来放置合成的工程:
二、Cmake编译
6.打开在下载文件bin中的cmake_gui.exe。
7.cmake第一行输入的是opencv的源码即opencv的source文件,第二行是编译好的文件放置处即mybulid文件夹。 cmake编译过程主要有两次编译,一次中途加载设置。第一次编译,设置选项vs2015 win x64,成功后done提志。
8.中途设置的方法是:在配置表中找到“OPENCV_EXTRA_MODUALS_PATH”,设置其参数值为opencv_contrib源码包中的modules目录。再按下configure.成功后显示configuring done。可能会有红色的框条出现,再重复一次configure,更新后红色消除。也有可能是ippcv下载路径被屏蔽的愿因。
9.然后点Generate,提示Generate done。注意:会出现一直下载protobuf-cpp-3.1.0.tar.gz,那么就手动下载它并放在:Cmake编译所需 存放位置: D:\MyConfig\opencv_contrib-master\modules\dnn\.download\bd5e3eed635a8d32e2b99658633815ef\v3.1.0 处。
三、在vs2015上的设置与再生成
10.cmake编译后,用VS2015打开在mybulid文件中的OPencv.sln。
11.打开工程--->右键--->重新生成解决方案。注意你选择的是debug还是release,这就是debug版与release版的区别。bebug版有检测数据是否溢出的功能,release相对反应速度快。
12.重新生成的时间大约20分钟(time of toilet!),生成的效果如下,如果有失败,原因是GITHUB上的opencv_contrib版本高,所以请更新你的opencv。
13.生成Intall安装文件,右键INSTALL-->仅用于项目-->仅生成INTALL(B),生成一个install文件夹。
14.任意打开一个C++文件:把生成的install看成新的opencv文件,与vs2015进行配置。
可执行文件目录:E:\Program Files %28x86%29\opencv-3.2.0-vc14\mybuild-opencv3.2.0\install\x64\vc14\bin
包含文件目录:E:\Program Files (x86)\opencv-3.2.0-vc14\mybuild-opencv3.2.0\install\include
E:\Program Files (x86)\opencv-3.2.0-vc14\mybuild-opencv3.2.0\install\include\opencv2
E:\Program Files (x86)\opencv-3.2.0-vc14\mybuild-opencv3.2.0\install\include\opencv
库文件目录:E:\Program Files (x86)\opencv-3.2.0-vc14\mybuild-opencv3.2.0\install\x64\vc14\lib
链接库:
注意:小技巧:往vs里面输入上面的.lib是不是很崩溃?
在该文件夹命令行搞定
E:\opencv\cv3.2binary\install\x64\vc12\lib>dir /b /w >libInfo.txt
E:\opencv\cv3.2binary\install\x64\vc12\lib>notepad libInfo.txt
libInfo.txt的内容为:
opencv_aruco320d.lib
opencv_bgsegm320d.lib
opencv_bioinspired320d.lib
opencv_calib3d320d.lib
opencv_ccalib320d.lib
opencv_core320d.lib
opencv_datasets320d.lib
opencv_dnn320d.lib
opencv_dpm320d.lib
opencv_face320d.lib
opencv_features2d320d.lib
opencv_flann320d.lib
opencv_fuzzy320d.lib
opencv_highgui320d.lib
opencv_imgcodecs320d.lib
opencv_imgproc320d.lib
opencv_line_descriptor320d.lib
opencv_ml320d.lib
opencv_objdetect320d.lib
opencv_optflow320d.lib
opencv_phase_unwrapping320d.lib
opencv_photo320d.lib
opencv_plot320d.lib
opencv_reg320d.lib
opencv_rgbd320d.lib
opencv_saliency320d.lib
opencv_shape320d.lib
opencv_stereo320d.lib
opencv_stitching320d.lib
opencv_structured_light320d.lib
opencv_superres320d.lib
四、系统环境变量设置:比较简单,详情可见上篇博文。
部分不恰当的操作、设置会导致继承值中的路径(变量) 出现错误 或者添加了错误的路径(变量)到继承值中 从而导致VS编译器在生成项目exe 或 obj时 因为找不到相应的lib等类型文件而不发生成正确的项目的程序。
修改它的方法如下:
打开如下目录:C:\Users\username(Administrator)\AppData\Local\Microsoft\MSBuild\v4.0 (其中uername是你管理员用户的名称)
win xp 下的目录为: C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\MSBuild\v4.0
打开文件 Microsoft.Cpp.x64.user.props 修改配置文件中错误路径值。
里面文件的内容一般如下:
其中: <IncludePath> </IncludePath> 是要包含的目录
<LibraryPath> </LibraryPath> 是要包含的库目录
<PropertyGroup> </PropertyGroup> 里面是链接器->输入->附加依赖项