ubuntu18.04安装opencv4.1.2+opencv_contrib4.1.2

本文提供OpenCV4.1.2及其附加模块的下载链接,指导如何在本地环境中进行编译与安装。通过创建并进入build目录,使用cmake配置参数,包括设置构建类型、安装前缀、额外模块路径等,完成编译过程。同时,解决编译中常见错误,如文件缺失、头文件问题及专利功能未启用等。

下载源文件:

1.opencv4.1.2下载链接:https://github.com/opencv/opencv
2.opencv_contrib4.1.2下载链接:https://github.com/opencv/opencv_contrib

编译

将解压后的opencv_contrib4.1.2放在opencv4.1.2文件夹下,
新建build文件夹:

mkdir build

进入build文件夹:

cd build

编译:

 cmake -D CMAKE_BUILD_TYPE=RELEASE \
       -D CMAKE_INSTALL_PREFIX=/usr/local \
       -D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv-4.1.2/opencv_contrib/modules/ \
       -D OPENCV_ENABLE_NONFREE=ON ../
make

安装:

sudo make install

中间遇到的坑

1.opencv下载过程中,如果一直卡在下载ippicv_2019_xxxx处,参考如下博客:
https://blog.youkuaiyun.com/heroybc/article/details/101097166
2.make过程中出现fatal error: boostdesc_bgm.i: No such file or directory,为文件缺失导致,参考博客:
https://blog.youkuaiyun.com/ninwji/article/details/100798014
3.make过程中出现fatal error: features2d/test/test_detectors_regression.impl.hpp: No such fil,头文件问题,对策详见博客:
https://blog.youkuaiyun.com/ninwji/article/details/100798014
4.make过程中出现error: ‘ppf_match_3d’ was not declared in this scope template,查遍了github上的issue,结论是,在build下面执行:
make clean
之后再make,就OK了
5.使用SIFT过程中出现:opencv-4.1.2/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1207: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function ‘create’
哈哈~
是因为安装opencv时候,cmake时候没有设置OPENCV_ENABLE_NONFREE=ON,重新cmake,make,install去吧

### 安装准备 为了在Ubuntu 18.04 LTS上为ROS安装OpenCV 4.1.2版本,需要先更新系统的软件包列表并安装必要的依赖项。这可以通过运行以下命令来完成: ```bash sudo apt update && sudo apt upgrade -y ``` 接着,安装构建工具和其他必需的库文件。 ### 下载和解压源码 前往OpenCV官方网站下载页面获取指定版本的源代码压缩包,对于本案例而言即为4.1.2版。也可以通过Git克隆仓库的方式获得特定标签下的源码: ```bash git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.1.2 ``` 同样地,如果打算使用额外模块,则还需要单独拉取`opencv_contrib`项目对应分支。 ### 编译前设置 创建一个新的目录用于存放编译过程中产生的临时文件,并进入该目录执行CMake配置指令。这里需要注意的是,在调用cmake之前要确保已经正确设置了Python解释器路径以及指定了希望使用的贡献模块位置(如果有)。另外还需注意调整其他参数以适应个人需求或硬件特性[^1]。 ```bash mkdir build && cd build cmake .. ``` 具体来说,针对ROS集成可能涉及到如下选项: - `-D CMAKE_BUILD_TYPE=Release`: 设置优化级别。 - `-D BUILD_opencv_python3=ON`: 启用Python接口支持。 - `-D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3`: 明确指出默认采用哪个版本的Python解析器。 - `-D OPENCV_EXTRA_MODULES_PATH=<path-to-opencv-contrib>/modules`: 如果有附加功能的话则需告知其所在之处。 以上各项均应依据实际情况灵活变动。 ### 开始编译过程 一旦完成了上述准备工作之后就可以正式开始编译流程了。考虑到整个工程规模较大,建议利用多线程加速此环节的速度;同时为了避免占用过多资源影响正常使用体验,可以适当控制并发数量。 ```bash make -j$(nproc) ``` 当所有目标都成功生成完毕后继续完成最后几步操作即可让新安装好的库生效。 ### 配置环境变量 为了让系统能够识别新增加的共享对象(.so),应当编辑/etc/ld.so.conf.d/内的相应配置文档加入指向OpenCV根目录下lib子文件夹的一行记录。 ```bash echo "/home/user/path/to/opencv/build/lib" | sudo tee /etc/ld.so.conf.d/opencv.conf sudo ldconfig ``` 此处假设用户的家目录名为"user",实际应用时请替换为自己真实的路径。 ### 测试验证 重启计算机使更改后的环境设定完全加载进来,随后打开终端窗口尝试导入cv2模块看能否正常工作作为简单的检验手段之一。 ```python import cv2 print(cv2.__version__) ``` 这段脚本会打印出当前环境中可用的OpenCV版本号,以此确认是否达到了预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值