在Linux下编译OpenCV_Contrib
最近做人脸识别项目的时候,发现在OpenCV3包中包含了人脸检测算法所需的CascadeClassifier,但不含识别算法所需的FaceRecognizer。使用官网例程时,编译器会提示缺少opencv2/contrib/contrib.hpp。
查询资料后得知, 人脸识别等算法模块由于不够稳定,在OpenCV3版本中,被放在了OpenCV_Contrib包里,需要单独下载并编译。
1.下载所需工具
- 下载opencv_contrib源码:https://github.com/Itseez/opencv_contrib
- 下载opencv源码:https://sourceforge.net/projects/opencvlibrary
- 下载安装cmake:
sudo apt install cmake
顺便一提,现在从github上下载大型项目速度极慢且容易失败,建议使用墙内的coding.net导入github项目后下载。
2.配置
- 新建一个文件夹作为编译目录,切换到这个目录
- 配置cmake,语法为
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
- 其中