首页 Ubuntu 多版本opencv切换
文章
取消

Ubuntu 多版本opencv切换

前提

ubuntu好像自带了个4.2的opencv,一般会安装在/usr/local下

下载安装

https://opencv.org/releases.html 下载所需的opencv版本,假设下了个3.4的版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ cd opencv-3.4.16
$ mkdir build
$ cd build
$ mkdir installed
$ cmake \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local/opencv3 \
\
-DWITH_CUDA=OFF \
\
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \ 
..
$ make -j4
$ sudo make install

DCMAKE_INSTALL_PREFIX 指明了安装的位置,可以根据自己需要改

系统切换

~/.bashrc中添加这两句

1
2
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/opencv3/lib

注意改成自己的opencv安装路径

source一下

1
pkg-config --modversion opencv

就可以得到版本3.4的信息了

感觉没啥用

cmake工程中切换

可以随便写一个CmakeLists.txt 来进行验证,比如创建一个tmp文件夹,写一个如下的CmakeLists.txt

1
2
find_package(OpenCV REQUIRED)
message("OpenCV version  is : ${OpenCV_VERSION}")

再创建一个build文件夹,进入后 cmake .. 就可以看到输出了

切换前的输出:

1
2
-- Found OpenCV: /usr/local (found version "4.6.0") 
OpenCV version  is : 4.6.0

修改一下,告诉cmake去哪找opencv,该路径下有个 OpenCVConfig.cmake

1
2
3
set(CMAKE_PREFIX_PATH "/usr/local/opencv3/share/OpenCV")  
find_package(OpenCV REQUIRED)
message("OpenCV version  is : ${OpenCV_VERSION}")

切换后

1
2
-- Found OpenCV: /usr/local/opencv3 (found version "3.4.16") 
OpenCV version  is : 3.4.16
本文由作者按照 CC BY 4.0 进行授权

Slam Vslam十四讲笔记 9~14讲

Vins Mono 编译运行 Ubuntu20解决opencv与cv_bridge冲突问题