在Linux下编译OpenCV_Contrib
来源:互联网 发布:dsp和单片机的区别 编辑:程序博客网 时间:2024/06/07 14:26
在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>
- 其中opencv_contrib和opencv_source_directory分别为opencv_contrib和opencv源码解压后的文件夹
- 如果不需要编译所有的module,可以加上-DBUILD_opencv_* 参数,例如
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -DBUILD_opencv_legacy=OFF <opencv_source_directory>
。 此外,如果想加快编译速度,可以跳过tests,参数为 -DBUILD_TESTS=OFF - 以只编译人脸识别相关库为例,配置参数为
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -DBUILD_opencv_aruco=OFF -DBUILD_opencv_bgsegm=OFF -DBUILD_opencv_bioinspired=OFF -DBUILD_opencv_ccalib=OFF -DBUILD_opencv_cnn_3dobj=OFF -DBUILD_opencv_contrib_world=OFF -DBUILD_opencv_cvv=OFF -DBUILD_opencv_datasets=OFF -DBUILD_opencv_dnn=OFF -DBUILD_opencv_dnns_easily_fooled=OFF -DBUILD_opencv_dnn_modern=OFF -DBUILD_opencv_dpm=OFF -DBUILD_opencv_freetype=OFF -DBUILD_opencv_fuzzy=OFF -DBUILD_opencv_hdf=OFF -DBUILD_opencv_line_descriptor=OFF -DBUILD_opencv_matlab=OFF -DBUILD_opencv_optflow=OFF -DBUILD_opencv_phase_unwrapping=OFF -DBUILD_opencv_plot=OFF -DBUILD_opencv_reg=OFF -DBUILD_opencv_rgbd=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_sfm=OFF -DBUILD_opencv_stereo=OFF -DBUILD_opencv_structured_light=OFF -DBUILD_opencv_surface_matching=OFF -DBUILD_opencv_text=OFF -DBUILD_opencv_tracking=OFF -DBUILD_opencv_xfeatures2d=OFF -DBUILD_opencv_ximgproc=OFF -DBUILD_opencv_xobjdetect=OFF -DBUILD_opencv_xphoto=OFF -DBUILD_TESTS=OFF <opencv_source_directory>
3.编译
回到新建的那个编译文件夹,使用命令
make -j4
“j”后面的数字最最好与处理器线程数相同。仅编译face模块的情况下,我的树莓派3B耗时约25分钟。
4.安装
使用命令
make install
可在输出的结果中观察lib文件、头文件的安装目录。
0 0
- 在Linux下编译OpenCV_Contrib
- 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib
- Windows下编译opencv4android+opencv_contrib
- window下编译Opencv3.1.0和opencv_contrib
- 在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题
- opencv3.3+opencv_contrib-3.3编译及在eclipse下使用opencv
- linux 下配置opencv3.3.0及 opencv_contrib
- Win10+VS2015环境下编译 OpenCV 3.1和opencv_contrib
- Windows环境下编译OpenCV3.1和OpenCV_contrib
- Windows环境下编译OpenCV3.1和OpenCV_contrib for vs2008
- Windows环境下编译OpenCV3.1和OpenCV_contrib
- Windows平台下编译OpenCV扩展的opencv_contrib
- windows下cmake编译opencv3.2+opencv_contrib完整过程
- windows10 环境下 opencv3.0.0+opencv_contrib重编译
- ubuntu16.04下opencv3.2和opencv_contrib编译安装
- Windows环境下使用CMake编译OpenCV3.0和OpenCV_contrib
- Windows下编译扩展OpenCV 3.1.0 + opencv_contrib
- Ubuntu下opencv3.3和opencv_contrib的编译安装
- Volatile小结
- Struts2 的Action中取得请求参数值的几种方法
- C#多线程同步的几种方法
- 有限五位数
- PAT 1079-Total Sales of Supply Chain (25)
- 在Linux下编译OpenCV_Contrib
- 解决在安装hadoop2.7.3中50070端口无法打开
- 动态修改CStatic控件的类型
- Mysql添加InnoDB引擎的方法
- AWE2017|让家电更接近智慧
- ubuntu12.04无法打开libreoffice解决方案
- h264 nalu分析
- 数据结构——队列
- Flask 实现文件上传下载功能