ubuntu 安装OpenCV3版本后安装OpenCV4,且多版本共存

1.安装依赖
必须要安装的依赖,通过命令安装:

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

如果需要其他的功能,还需安装一些依赖,命令:

sudo apt-get install python-dev python-numpy python3-dev python3-numpy
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2.安装OpenCV
OpenCV官网 地址下载OpenCV的安装包,
在这里我下载OpenCV4.2.0的安装包,下载Sources包,
解压:

unzip opencv-4.2.0.zip

创建安装opencv4的路径:

cd /home/wangyy/
mkdir opencv4

创建的opencv4就是我们安装opencv4的路径。

在解压的文件夹里新建一个build文件夹用来编译OpenCV:

cd /home/wangyy/opencv-4.2.0
mkdir build
cd build

3.cmake编译
使用cmake的时候要指定opencv的安装路径,因为之前已经默认安装了opencv3,所以这里必须指定安装路径,比如我打算安装在刚刚创建的opencv4文件下。
输入如下cmake 命令:

cmake -D CMAKE_INSTALL_PREFIX=/home/wangyy/opencv4 -D CMAKE_BUILD_TYPE="Rlease" -D OPENCV_GENERATE_PKGCONFIG=ON ..

4.编译安装
命令:

make
make install

5.配置
配置 opencv 变量,编辑文件 /etc/ld.so.conf.d/opencv.conf(如果没有就会自动创建):

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

然后添加 opencv-4.2.0 的 lib 路径:

/home/wangyy/opencv4/lib

保存退出,执行:

sudo ldconfig

编辑 ~/.bashrc ,最后添加:

#opencv-4.2.0

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/home/wangyy/opencv4/lib/pkgconfig

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./home/wangyy/opencv4/lib

保存退出,执行:

source ~/.bashrc

查看当前 opencv 版本,新开窗口执行:

pkg-config --modversion opencv

重点:
按照上面步骤来正确安装了opencv-4.2.0
执行pkg-config --modversion opencv命令,结果仍然是343(之前安装的OpenCV3的版本).
因为,对于opencv4以上的版本要使用opencv4才能正确查询到其版本,库以及头文件目录的值。
具体命令如下所示:

pkg-config --modversion opencv4
pkg-config --cflags opencv4
pkg-config --libs   opencv4

参考:博客 CSDN博主「ltshan139」的原创文章https://blog.csdn.net/avideointerfaces/article/details/90216832
————————————————

6.多版本OpenCV安装后使用须知

使用多版本opencv

在写CmakeList.txt,如果只有一个版本的opencv,我们一般直接使用

FIND_PACKAGE(OpenCV REQUIRED)

如果现在要使用的是默认安装的opencv3,则使用使用上面的指令就足够了。

如果现在要使用的是我们自己指定路径的opencv-4.2.0,则在上面指令前面加上如下指令:

set(CMAKE_PREFIX_PATH "/home/wangyy/opencv4") 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值