ubuntu18.04编译OpenCV-3.4.19+OpenCV_contrib-3.4.19

首先确保安装了cmake工具

安装opencv依赖文件

bash 复制代码
 sudo apt-get install build-essential 
 sudo apt-get install git libgtk-3-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

由于本电脑之间装过OpenCV,所以不确定还需要哪些库,如果安装中遇到问题,在寻找解决方法。

下载OpenCV-3.4.19和OpenCV_contrib-3.4.19

链接和截图如下:

Release 3.4.19 · opencv/opencv_contrib · GitHub

Release 3.4.19 · opencv/opencv · GitHub

解压下载的文件

bash 复制代码
tar -zxvf opencv-3.4.19.tar.gz
tar -zxvf opencv_contrib-3.4.19.tar.gz

将opencv_contrib-3.4.19.tar.gz解压之后的文件夹opencv_contrib-3.4.19复制到opencv-3.4.19.tar.gz解压之后的文件夹opencv-3.4.19中,并将opencv_contrib-3.4.19改名为opencv_contrib,如图所示:

执行如下命令:

bash 复制代码
cd opencv-3.4.19/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

这个过程可能需要下载东西,似乎需要魔法。

执行编译

bash 复制代码
make -j$(nproc)

安装

bash 复制代码
sudo make install

配置环境

bash 复制代码
sudo gedit /etc/ld.so.conf.d/OpenCV.conf

打开是一个空文档,写入/usr/local/lib

bash 复制代码
sudo ldconfig

如果运行SURF检测报错如下:

当你运行要使用SURF的时候,就会报错 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'

那么请将cmake修改如下,添加OPENCV_ENABLE_NONFREE=ON

bash 复制代码
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D OPENCV_ENABLE_NONFREE=ON ..

重新按照上面的流程,再走一遍。

参考:Ubuntu18.04安装opencv和opencv_contrib(SIFT,SURF,ORB使用) - 知乎

参考:ubuntu20编译opencv4.5.4+opencv_contrib4.5.4记录-CSDN博客

相关推荐
weixin_437497774 小时前
读书笔记:Context Engineering 2.0 (上)
人工智能·nlp
喝拿铁写前端4 小时前
前端开发者使用 AI 的能力层级——从表面使用到工程化能力的真正分水岭
前端·人工智能·程序员
goodfat4 小时前
Win11如何关闭自动更新 Win11暂停系统更新的设置方法【教程】
人工智能·禁止windows更新·win11优化工具
北京领雁科技4 小时前
领雁科技反洗钱案例白皮书暨人工智能在反洗钱系统中的深度应用
人工智能·科技·安全
落叶,听雪4 小时前
河南建站系统哪个好
大数据·人工智能·python
清月电子4 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网
Dev7z4 小时前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
七月shi人5 小时前
AI浪潮下,前端路在何方
前端·人工智能·ai编程
橙汁味的风5 小时前
1隐马尔科夫模型HMM与条件随机场CRF
人工智能·深度学习·机器学习
itwangyang5205 小时前
AIDD-人工智能药物设计-AI 制药编码之战:预测癌症反应,选对方法是关键
人工智能