前提
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