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博客

相关推荐
爱笑的源码基地13 分钟前
C#医学影像分析源码,医院影像中心PACS系统源码
图像处理·人工智能·源码·pacs·医学影像系统·影像诊断
2301_8074063537 分钟前
APC论文总结
人工智能
正义的彬彬侠39 分钟前
决策树中联合概率分布公式解释说明
人工智能·决策树·机器学习·概率论
汪子熙1 小时前
什么是大语言模型的大海捞针指标
人工智能·语言模型·自然语言处理
背水1 小时前
pytorch数据读入
人工智能·pytorch·python
凭栏落花侧1 小时前
支持向量机(SVM)基础教程
人工智能·机器学习·支持向量机
想七想八不如114082 小时前
【OpenCV】 Python 图像处理 入门
图像处理·python·opencv
龙的爹23332 小时前
论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(上)
人工智能·gpt·语言模型·自然语言处理·prompt
凯子坚持 c2 小时前
【机器学习】---异构数据融合
人工智能·python·机器学习
xiandong202 小时前
240930_CycleGAN循环生成对抗网络
图像处理·人工智能·深度学习·神经网络·学习·生成对抗网络