多版本opencv 兼容
https://blog.csdn.net/learning_tortosie/article/details/80594399
多版本OpenCV共存
假設(shè)我們已經(jīng)安裝好一版OpenCV,一般都安裝在/usr/local下。
如果需要安裝另一個(gè)版本的OpenCV,就不能再安裝到/usr/local,而是選擇其他路徑,否則會(huì)覆蓋掉之前的版本。
下載OpenCV
首先去https://opencv.org/releases.html下載所需版本的Sources版,也可去https://github.com/opencv/opencv/tree/3.4.1下載。
假設(shè)我們安裝的第二個(gè)OpenCV版本為3.4.1。
安裝依賴包
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
編譯安裝OpenCV
詳見(jiàn)官方文檔https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html,參考步驟如下。
$ cd opencv-3.4.1
$ mkdir build
$ cd build
$ mkdir installed
$ cmake \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=~/opencv-3.4.1/build/installed \
\
-DWITH_CUDA=OFF \
\
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \?
..
$ make -j4
$ sudo make install
說(shuō)明
1. 其中~/opencv-3.4.1/build/installed為安裝OpenCV3.4.1的路徑,這個(gè)十分關(guān)鍵。
2. 設(shè)置OFF的理由如下,可大大加快編譯速度,當(dāng)然還要根據(jù)需求進(jìn)行設(shè)置。
? ? It is useful also to unset BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS - as they all will be statically linked with OpenCV and can take a lot of memory.
? ? 此外,還可以取消設(shè)置BUILD_EXAMPLES,BUILD_TESTS和BUILD_PERF_TESTS,因?yàn)樗鼈兌紝⑴cOpenCV靜態(tài)鏈接,并且會(huì)占用大量?jī)?nèi)存。
多版本OpenCV切換
打開(kāi)~/.bashrc
$ gedit ~/.bashrc
在文件末尾增加以下內(nèi)容
export PKG_CONFIG_PATH=~/opencv-3.4.1/build/installed/lib/pkgconfig
export LD_LIBRARY_PATH=~/opencv-3.4.1/build/installed/lib
更新~/.bashrc
$ source ~/.bashrc?
查詢OpenCV版本
$ pkg-config --modversion opencv
如果輸出3.4.1,就表明配置成功。
如果想使用之前的版本,在~/.bashrc中注釋掉增加的內(nèi)容,然后source ~/.bashrc即可。
如果只有一個(gè)版本的OpenCV,在CMakeList.txt中使用以下語(yǔ)句即可。
FIND_PACKAGE(OpenCV REQUIRED)
在OpenCV編譯好后,所在目錄中會(huì)生成OpenCVConfig.cmake文件,這個(gè)文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。
存在多版本OpenCV時(shí),需要找到所需版本對(duì)應(yīng)的OpenCVConfig.cmake文件,并將其路徑添加到工程的CMakeLists.txt中。
示例如下:
cmake_minimum_required(VERSION 2.8) ?
set(OpenCV_DIR "~/opencv-3.4.1/build") ??
project(test) ?
find_package(OpenCV REQUIRED)?
總結(jié)
以上是生活随笔為你收集整理的多版本opencv 兼容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: darknet 训练 cannot lo
- 下一篇: word 中同样的字号和行距倍数,不一样