为opencv添加contrib库

自从进入3.X时代以后,OpenCV将代码库分成了两部分,分别是稳定的核心功能库和试验性质的contrib库,之前已经讲过opencv的核心库的安装,现在讲解一下其附带的依赖库的安装。

一、Cmake配置与生成

  1. 安装cmake

下载地址:https://cmake.org/download/

获取最新版本Windows win64-x64安装程序:安装程序工具已更改。首先卸载CMake 3.4或更低版本!可执行程序,不是压缩包

下载完毕直接运行安装,只有一个步骤要注意,

选择‘addCmake to the system PATH for all user’!!!

安装完成后,即可打开Cmake

  1. 下载opencv_contrib

OpenCVcontrib下载地址打开页面下载 ZIP。(挑选与opencv版本相匹配的contrib版本,我这里是3.4.2

https://github.com/opencv/opencv_contrib/releases

解压缩到自定义目录(记住了位置,后面要用)(推荐放在opencv源包source下的modules目录下,不然有可能出错。。

  1. Cmake的配置与生成

1填入‘ opencv源码的路径’以及‘准备输出的目录(自定义)’

如果还没下载opencv可以到官网下载,在opencv官网下载压缩包(格式.exe),解压缩到自定义目录。

之后,点击左下方的‘configure’

2弹出窗口,选择vs对应的版本。我这里是VS2017(根据自己的安装选择)

默认选项‘use default native compliers’,点击‘finish’。

3)此时,重新编译opencv开始执行,这需要花费一点时间。

完成会出现窗口如下:命令行显示‘Configuring done’表示成功!

滑动中间窗格找到‘OPENCV_EXTRA_MODULES_PATH’添加‘刚刚下载的 opencvcontrib-master包下的modules文件夹’路径。

 点击configure

然后,在点左下方的’Generate‘按钮。‘generating done’表示生成成功!!!

4)打开输出目录,找到OpenCV.sln文件,即表示cmake已完成配置与生成。

 、VS编译生成installer

  1. 打开输出目录,找到OpenCV.sln文件,双击打开。

第一次打开,需要重新生成解决方案如图所示。(需要还蛮久的时间)选择debug和X64版本。

编译成功结果如下:

  1. 全部生成成功后,按下图操作生成install
  1. 生成成功。

打开同名路径,找到install包,包下是与opencv源包build相似的文件构架。

为了避免编译过程及操作麻烦,本文从开头到这一步的包含OPENCV及contrib和编译生成的buildenv包,本人已打包传入百度云。你可以直接下载后进行后面的操作即可。

三、重新配置OpenCV,includelibraries附加依赖项。

  1. 新建一个项目

在源文件下,新建项。

  1. 打开属性管理器,删掉原有包含目录,改为如图所示的三个新目录。

删掉原有库目录,改为如图所示目录。

完事之后,记得点击应用,确定。

  1. 再一次打开属性页:修改附加依赖项

添加内容:(其实就是之前install/…/lib下的内容

opencv_aruco342d.lib
opencv_bgsegm342d.lib
opencv_bioinspired342d.lib
opencv_calib3d342d.lib
opencv_ccalib342d.lib
opencv_core342d.lib
opencv_datasets342d.lib
opencv_dnn342d.lib
opencv_dnn_objdetect342d.lib
opencv_dpm342d.lib
opencv_face342d.lib
opencv_features2d342d.lib
opencv_flann342d.lib
opencv_fuzzy342d.lib
opencv_hdf342d.lib
opencv_hfs342d.lib
opencv_highgui342d.lib
opencv_imgcodecs342d.lib
opencv_imgproc342d.lib
opencv_img_hash342d.lib
opencv_line_descriptor342d.lib
opencv_ml342d.lib
opencv_objdetect342d.lib
opencv_optflow342d.lib
opencv_phase_unwrapping342d.lib
opencv_photo342d.lib
opencv_plot342d.lib
opencv_reg342d.lib
opencv_rgbd342d.lib
opencv_saliency342d.lib
opencv_shape342d.lib
opencv_stereo342d.lib
opencv_stitching342d.lib
opencv_structured_light342d.lib
opencv_superres342d.lib
opencv_surface_matching342d.lib
opencv_text342d.lib
opencv_tracking342d.lib
opencv_video342d.lib
opencv_videoio342d.lib
opencv_videostab342d.lib
opencv_xfeatures2d342d.lib
opencv_ximgproc342d.lib
opencv_xobjdetect342d.lib
opencv_xphoto342d.lib

 

  1. 添加环境变量

复制路径:

增加环境变量到Path

整个开发环境部署完工!!!

但是要注意,每次执行项目时要重新设置Debug为‘x64’,否则会报错。

 这样,一个完整的包含OpenCV的C++基础工程就创建完毕了,后续的开发只需在这个工程的基础上进行编程就可以了。

 

 

 

参考资料:

1、OpenCV contrib 3.2.0扩展模块添加与编译(VS2017+OpenCV3.2.0)详解与排坑

2、直接用的编译好的包的百度云链接

原文地址:https://www.cnblogs.com/noticeable/p/9594560.html