1、主要工作
(1)OpenCV_contrib简介;
(2)OpenCV 3.1.0,Cmake 3.6.2,OpenCV_contrib下载;
(4)用CMake编译OpenCV3.1.0和OpenCV_contrib;
(5)用VS2013生成解决方案;
(6)重新配置环境;
2、工作具体内容
2.1 OpenCV_contrib简介
为什么要安装OpenCV_contrib?OpenCV3.1.0,然而这里面所包含的库只有基础内容,而实际上opencv还添加了一个额外的库,以供更需要的人使用,其中就包括了人脸识别、matelab调用、RGB加工、深层神经网络等内容,这就需要用到额外的库。比如在学习图像识别中的特征点检测中,需要用到Surf和Sift算法,但是这两个算法在OpenCV 3.1.0的Release版本中并不存在,因为他们是存放在opencv_contrib目录下面的未稳定功能模块,所以如果我们想要使用这个目录的功能,就需要自己重新进行OpenCV的编译。
编译OpenCV_contrib时,已经是要配合OpenCV3.1的版本才能编译通过,所以要用最新的Opencv3.1代替上次配置好的Opencv3.0。
2.2 OpenCV 3.1.0,Cmake 3.6.2,OpenCV_contrib下载
2.2.1 下载安装OpenCV3.1.0
下载安装方法同上周OpenCV3.0的方法。
2.2.2 Cmake 3.6.2下载
前往官网https://cmake.org/下载。
图 2.2.2.1 Cmake 3.6.2 下载
2.2.3 OpenCV_contrib下载
官方并没有将OpenCV_contrib库放置在官网上,而是将其放在了GitHub上。
https://codeload.github.com/Wangyida/opencv_contrib/zip/master.
2.3 OpenCV 3.1.0开发环境搭建
搭建方法同上周OpenCV3.0的方法。
2.4 使用cmake生成OpenCV.sln
1.打开cmake-gui\bin目录下的cmake-gui.exe工具;
2.填写相应参数,包括:OpenCV源码目录和OpenCV.sln工程的导出目录,
点击configure,在弹出的对话框内选择Visual Studio 2013和default参数,点击finish,开始导出OpenCV.sln工程,编译成功后会显示Configuring done及Generating done。
图 2.4.1 Cmake 3.6.2 配置编译
3.第一次编译完成之后,我们需要将额外的opencv_contrib加到工程中进行第二次编译,在Search中输入“OPENCV_EXTRA_MODULES_PATH”,设置其参数值Value为open_contrib源码包中的modles目录,我的目录是“D:\opencv3.1\tools\opencv_contrib-master\modules”:
图 2.4.2 Cmake 3.6.2 配置额外编译
4.编译完成后,我们在资源管理器下查看上面设置的文件输出目录,发现目录下多出了很多文件:
图 2.4.3 Cmake 3.6.2 编译完成后生成文件
5.在这两次编译中,都报错提示缺少某个.dll文件,经上网查询没有查到具体的解决办法,于是试着从网上下载到这些.dll文件并放在报错提示生成文件的位置,最终顺利解决,编译完成。
2.5用VS2013生成解决方案库
1.用VS 2013打开OpenCV.sln工程,在解决方案中可以查看工程目录;
图 2.5.1 打开OpenCV.sln工程文件
2.编译debug版本库:点击工具栏里的生成-->重新生成解决方案。
图 2.5.2 OpenCV.sln重新生成解决方案
图 2.5.3 OpenCV.sln重新生成解决方案成功
3.编译成功后找到CMakeTargets中的INSTALL,然后右键选择“仅限于项目”-->“仅生成INSTALL”,完成后new_build文件夹里多了一个install文件夹:
图 2.5.4 OpenCV.sln生成INSTALL
2.6重新配置自己的项目
1、重新配置环境变量
①、环境变量设置:
变量名:OPENCV
变量值:*\opencv\new_build\install
注:*表示安装目录
②、用户变量配置:
*\opencv\new_build\install\x64\vc14\bin
注:*表示安装目录
2、重新配置项目环境
①、包含目录:
*\opencv\new_build\install\include
*\opencv\new_build\install\include\opencv
*\opencv\new_build\install\include\opencv2
注:*表示安装目录
②、库目录:
*\opencv\new_build\install\x64\vc14\lib
*\opencv\new_build\install\x64\vc14\staticlib
注:*表示安装目录
③、附加依赖项:
opencv_aruco310d.lib
opencv_bgsegm310d.lib
opencv_calib3d310d.lib
opencv_ccalib310d.lib
opencv_core310d.lib
opencv_datasets310d.lib
opencv_dnn310d.lib
opencv_dpm310d.lib
opencv_face310d.lib
opencv_features2d310d.lib
opencv_flann310d.lib
opencv_fuzzy310d.lib
opencv_hdf310d.lib
opencv_highgui310d.lib
opencv_imgcodecs310d.lib
opencv_imgproc310d.lib
opencv_line_descriptor310d.lib
opencv_ml310d.lib
opencv_objdetect310d.lib
opencv_optflow310d.lib
opencv_photo310d.lib
opencv_plot310d.lib
opencv_reg310d.lib
opencv_rgbd310d.lib
opencv_saliency310d.lib
opencv_shape310d.lib
opencv_stereo310d.lib
opencv_stitching310d.lib
opencv_structured_light310d.lib
opencv_superres310d.lib
opencv_surface_matching310d.lib
opencv_text310d.lib
opencv_tracking310d.lib
opencv_ts310d.lib
opencv_video310d.lib
opencv_videoio310d.lib
opencv_videostab310d.lib
opencv_xfeatures2d310d.lib
opencv_ximgproc310d.lib
opencv_xobjdetect310d.lib
opencv_xphoto310d.lib
ippicvmt.lib
3、复制有关动态库至系统目录下
将*\opencv\new_build\install\x64\vc14\bin下的dll文件复制至C:\Windows\System32 和C:\Windows\SysWOW64 目录下。
至此,编译与配置就全部完成。