在OpenCV官网下载OpenCV以及OpenCV Contrib文件夹后,
分别在根目录下进行解压。
大部分帖子使用CmakeGUI进行编译,笔者年级大了,使用控制台命令行
首先解压的OpenCV文件夹
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
这一步就是安装你下载的OpenCV的对应版本的基本功能
注意后面的 .. 符号一定不要打错了
一切顺利之后正常的使用
sudo make -j4
sudo make install
就可以完成基本的OpenCV安装
但是在解压OpenCV_contrib的文件夹之后再编译的时候,错误简直不要太多,简直满篇飘红,笔者的学弟表示遇到这种问题直接放弃下班比较好,哈哈哈
言归正传,在根目录下解压OpenCV_contrib文件夹后,cd到OpenCV的build文件夹,运行
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local ..
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
意思就是只编译contrib拓展模块的内容,注意最后路径前面,后面的 ..,这些都是相对路径,一定要搞清楚把路径弄明白。
接下来就是漫长的编译,当运行到Numeric包中的大篇幅如下报错比如
integer_sequence_algorithm.h:64:21: error: ‘integer_sequence’ is not a member of ‘std’
的时候,比如这张图:
笔者翻山越岭找到应该是ceres版本不对应(太高)导致的,你需要的就是使用
sudo rm -r /usr/local/lib/cmake/Ceres
sudo rm -rf /usr/local/include/ceres /usr/local/lib/libceres.a
sudo rm -r /usr/local/share/Ceres
卸载当前的Ceres模块,之后再
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
cd ceres-solver-1.14.0
mkdir build
cd build
cmake ..
make -j4
make test
sudo make install
安装这个版本,之后愉快的再次进入CV的build进行编译。
笔者愉快的进行到100%后崩了,
这里的解决方案就是
sudo make clean
sudo make
最后编译成功,
环境验证的帖子比较多,就不再这里赘述了,祝大家都能顺利配置好自己的完整OpenCV环境体验三维重建等趣味扩展功能。。。。