在Ubuntu20.04下安装OpenCV以及Contrib时避坑

在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环境体验三维重建等趣味扩展功能。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值