OPenCV_contrib 模块 Cmake重新编译流程

**背景:**在使用类似于 人脸识别时,需要用到类似于 face.hpp 文件, 采用例子程序进行测试时,发现系统无法找到opencv2/face.hpp 文件。 定位到OpenCv 的安装目录发现, 该目录下确实无该文件。后经查实:因为版权问题,在openCV3.0 往后开始,已经把这些都放入了 OpenCV_contrib模块 中。

下载资源
Opencv:https://github.com/Itseez/opencv
Opencv_contrib : https://github.com/Itseez/opencv_contrib
CMake:https://cmake.org/download/

记住自己的opencv 的版本号 和Opencv_contrib 的版本号一定要一直,否则在后续步骤中会报错。
正式安装

安装CMake

安装CMake,特别注意需要将CMake路径添加至系统路径 ,此处在安装时 系统会有选项
OPenCV_contrib 模块 Cmake重新编译流程_第1张图片
安装Opencv3.2.0
OPenCV_contrib 模块 Cmake重新编译流程_第2张图片其中opencv 是我们opencv 3.2.0 的安装目录 ,opencv_contrib-3.2.0 是额外模块的安装目录,opencvbuild 是自己创建的用来生成camke 的编译文件。
1,打开cmake
OPenCV_contrib 模块 Cmake重新编译流程_第3张图片
OPenCV_contrib 模块 Cmake重新编译流程_第4张图片
注意 where is the source 写的路径 一开始后面没有加 /sources 会出现报错。 加上之后就没问题了。
同时选择编译平台:VS2015 VC14 Win64
(刚:不要选那个后面不带 win64的 各种坑货)
OPenCV_contrib 模块 Cmake重新编译流程_第5张图片
在OPENCV_EXTRA_MODULES_PATH选项中,填写opencv_contrib解压目录下,modules文件夹的路径,这样就把opencv_contrib编译进去了。 其他的不要勾选,越是瞎折腾 越操心
然后再按Configure进行配置,和前面一样,一次红,二次白,不在赘述了。第二次全白了,就可以按Generate按键,生成vs工程文件了。
给建刚同学插播一条广告:咚咚咚,其实上面有个坑 ,地址的书写方式其实是错误的,正确的 地址应该是:E:/OpenCV/opencv_contrib-3.2.0/modules ,仔细看斜杠的方向;此问题直接导致我忙活了三个小时一直在查错误。

路径的注意事项:
Rename your folder: C:\opencv (v 3.4.0)\ will not work, try not to use spaces, dots and parenthesis For example: C:\opencv_340
路径里面不要使用点号 括号 以及不是下划线的分割

2,工程文件编译

第一步骤成功之后, 在build 文件夹中, 找到 OPenCV。sln 文件,打开之后。
分别在debug 64 和release 64 两个版本下 首先对工程重新编译。每编译成功一次之后,
OPenCV_contrib 模块 Cmake重新编译流程_第6张图片
选择 仅用于项目——仅生成。

每个步骤都操作一次。

3,配置环境变量和 附加库之类的

系统的环境变量 还是在系统属性之中进行设置。下面需要注意: 我是按照OpenCv4.0.0 又走了一遍,所以理论上下面应该都是320的后缀,自己的需要更改过来。

OPenCV_contrib 模块 Cmake重新编译流程_第7张图片

VC++ 目录
包含目录:
E:\OpenCV\OpenCV40\openCVbuild40\install\include
E:\OpenCV\OpenCV40\openCVbuild40\install\include\opencv2
库目录:
E:\OpenCV\OpenCV40\openCVbuild40\install\x64\vc14\lib

连接器——输入——附加依赖项:
opencv_face400.lib
opencv_core400.lib
opencv_imgproc400.lib
opencv_gapi400.lib
opencv_objdetect400.lib
opencv_highgui400.lib
opencv_video400.lib
opencv_videoio400.lib
opencv_videostab400.lib
opencv_calib3d400.lib
opencv_imgcodecs400.lib

用到哪些就添加哪些,以上只是自己做人脸检测用到的。暂时先添加这么多。以上整个过程坑比较多,我给已经都趟过去了,建刚可以走了。

你可能感兴趣的:(人脸识别)