ubuntu20安装opencv4和opencv_contrib 多版本共存

openCV 卸载

openCV 安装后的源码尽可能保留,因为可以直接从build文件夹下卸载已经安装的openCV.
参考链接:视觉学习笔记10——opencv的卸载、安装与多版本管理

如果已经安装完openCV,后续想重新装,需要先卸载掉安装的openCV.

在ubuntu终端命令行输入以下命令进入安装opencv的build目录并进行卸载操作。

cd build
sudo make uninstall
cd  .. 
sudo rm -r build

第一行代码为进到opencv下的build文件夹,如我的文件夹路径是~/Downloads/opencv-4.5.4/build
则需要将第一行更改为自己的opencv下的build路径。

最后在输入以下命令清理/usr(此处应为自己的文件夹)中所有opencv相关项即可。(此步骤可不需要)

sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

像我先前的安装路径为/usr/local/opencv4.5.4, 该行指令可直接变为

sudo rm -r /usr/local/opencv4.5.4

安装路径
opencv4下文件夹 # openCV安装
参考链接:ubuntu20.04下多版本opencv共存和切换
由于打算运行PL-SLAM,因此安装openCV3.4.10和openCV4.5.4。

下载和安装依赖包

1、首先更新 apt-get,在安装前最好先更新一下系统,不然有可能会安装失败。在终端输入:

sudo apt-get update
sudo apt-get upgrade

2、接着安装官方给的opencv依赖包,在终端输入:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
  1. 下载openCV3.4.10和opencv_contrib3.4.10源码压缩包,注意两者版本号需要相同。
  2. 下载后解压,将opencv_contrib3.4.10直接移入到opencv3.4.10文件夹下。

输入下述指令:

cd ~/Downloads/opencv-3.4.10 
mkdir build
cd build
cmake -D  CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.10  -D OPENCV_EXTRA_MODULES_PATH=/home/xiujie/Downloads/opencv-3.4.10/opencv_contrib-3.4.10/modules/ -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_ENABLE_NONFREE=True  -D BUILD_opencv_cudacodec=OFF ..


cd后跟的文件位置需要改为自己存opencv安装源码的真实位置。
关于cmake 后各项参数的意义在这个链接中讲的十分清楚亲测:Ubuntu 20.04上安装OpenCV 5.x with CUDA
特别需要注意的是CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.10
表示的是后续openCV的安装位置。

到大这步可能会出现下载失败的问题,有条件的需要用到外网或者手动下载,手动下载的话参考链接:[
ubuntu20.04下多版本opencv共存和切换
(https://blog.csdn.net/xiao_qs/article/details/126650329)

  1. 编译安装。
    查一下自己电脑最多支持多少线程:

nproc

我的电脑输出是8,所以逐行执行

make -j4
sudo make install

环境配置

创建文件并打开:

sudo vim /etc/ld.so.conf.d/opencv.conf

在打开的文件中添加如下内容:

/usr/local/opencv3.4.10/lib

该行代码是添加opencv动态库路径,需要根据自己的安装路径来,例如我的安装路径是/usr/local/opencv3.4.10 则应该设置为/usr/local/opencv3.4.10 /lib, 如下图所示,我的是因为同时装了opencv4.5.4, 如果要用opencv3把opencv4的那一行注释掉就可以。
写入信息
保存之后打开新的终端,输入指令:

sudo ldconfig

使其保存生效,再在终端输入:

sudo vim /etc/bash.bashrc

打开文件后在末尾输入:

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opencv3.4.10/lib/pkgconfig 
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/opencv3.4.10/lib

注意这两行指令的文件夹位置:
其中/usr/local/opencv3.4.10为安装位置。
/usr/local/opencv3.4.10/lib/pkgconfig ,这个在cmake编译的时候,必须设置OPENCV_GENERATE_PKGCONFIG=YES,否则就需要自己创建pkgconfig文件,很多教程有,此处不再赘述。下图为opencv4的,下面的文件名为opencv4.pc。opencv3的同理,文件名为opencv.pc。
pkgconfig文件夹
opencv4文件
保存退出, 终端输入:

source /etc/bash.bashrc

测试

输入代码

pkg-config --modversion opencv

版本号测试opencv4版本号测试
安装opencv4步骤同上,重点注意一下安装路径,将部分代码附上:

cd ~/Downloads/opencv-3.4.10 
mkdir build
cd build
cmake -D  CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.5.4  -D OPENCV_EXTRA_MODULES_PATH=/home/xiujie/Downloads/opencv-4.5.4/opencv_contrib-4.5.4/modules/ -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_ENABLE_NONFREE=True  -D BUILD_opencv_cudacodec=OFF ..
#  线程数最好大点,加快速度,查看cpu线程: 
grep 'processor' /proc/cpuinfo | sort -u | wc -l
# 查到线程为8,因此为j8
 make -j8
sudo make install

sudo vim /etc/ld.so.conf.d/opencv.conf
/usr/local/opencv4.5.4/lib
sudo ldconfig
sudo vim /etc/bash.bashrc
#e xport PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opencv4.5.4/lib/pkgconfig 
# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/opencv4.5.4/lib
source /etc/bash.bashrc

查看版本号pkg-config --modversion opencv4

多版本切换参见:视觉学习笔记10——opencv的卸载、安装与多版本管理

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值