国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ubuntu20.04下多版本opencv共存和切換

這篇具有很好參考價(jià)值的文章主要介紹了ubuntu20.04下多版本opencv共存和切換。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

之前在ubuntu20.04系統(tǒng)上已經(jīng)安裝了opencv4.5.5和擴(kuò)展庫opencv_contrib4.5.5,但是最近需要跑一下PL-SLAM的源代碼,而PL-SLAM系統(tǒng)是基于opencv3.x.x開發(fā)的,直接運(yùn)行會(huì)出現(xiàn)很多opencv版本不兼容的問題。因此想再安裝opencv3.4.5和擴(kuò)展庫opencv_contrib3.4.5,過程中出現(xiàn)了很多問題,寫這篇文章記錄一下。

一、下載和安裝依賴包

1、首先更新 apt-get,在安裝前最好先更新一下系統(tǒng),不然有可能會(huì)安裝失敗。在終端輸入:

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

二、下載opencv3.4.5和opencv_contrib3.4.5源碼壓縮包

1、opencv3.4.5的下載地址:
https://github.com/opencv/opencv/releases

2、opencv_contrib3.4.5的下載地址:
https://github.com/opencv/opencv_contrib/tree/3.4.5

三、配置opencv

1、將OpenCV3.4.5和OpenCV_contrib3.4.5解壓(提?。旁谝粋€(gè)文件夾下,如下圖所示:
ubuntu20.04下多版本opencv共存和切換2、雙擊進(jìn)入解壓出來的opencv-3.4.5文件夾,右鍵打開終端(或者在別處打開終端,通過輸入cd opencv-3.4.5進(jìn)入當(dāng)前目錄下),然后依次輸入(不要忘了第三行的最后的空格和兩個(gè)點(diǎn)):

mkdir build
cd build 
cmake-gui .. 

3、然后會(huì)彈出CMake的圖形化界面,在上方的兩個(gè)路徑里面,選擇好代碼所在文件夾的路徑和要安裝的路徑:
ubuntu20.04下多版本opencv共存和切換
4、點(diǎn)擊左下方的Configure按鈕,選擇Unix Makefiles,選擇Use default native compilers(默認(rèn)),然后點(diǎn)擊Finish:
ubuntu20.04下多版本opencv共存和切換
5、需要下載一些文件,要等待一段時(shí)間。可能由于網(wǎng)絡(luò)原因下載失敗,導(dǎo)致boostdesc_bgm.i等文件缺失,因此要手動(dòng)下載缺失的文件,然后將以下文件:

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i

拷貝到opencv_contrib/modules/xfeatures2d/src/目錄下,如圖:
ubuntu20.04下多版本opencv共存和切換百度云鏈接:https://pan.baidu.com/s/1BeYF8kqEZLAJYQj-MvxpmA
提取碼:e1wc
6、再次點(diǎn)擊左下方的Configure按鈕,然后CMake即載入默認(rèn)配置,這里通過圖形界面的方式來進(jìn)行配置,更加直觀方便。
這里需要對三個(gè)地方進(jìn)行修改:
(1)在CMAKE_BUILD_TYPE 值處輸入RELEASE,其他保持不變(如果已經(jīng)存在就不必修改)。
(2)下方的CMAKE_INSTALL_PREFIX顯示了默認(rèn)的安裝目錄,默認(rèn)安裝到usr/local目錄下,生成makefile文件最后執(zhí)行 make install時(shí)就會(huì)安裝到這個(gè)目錄。但是由于之前已經(jīng)安裝了opencv4.5.5,如果不修改默認(rèn)路徑會(huì)將之前的opencv4.5.5覆蓋掉,因此在~/opencv3.4.5/opencv-3.4.5/build文件夾下新建一個(gè)installed文件夾,并將opencv3.4.5安裝到此路徑下。
ubuntu20.04下多版本opencv共存和切換修改CMAKE_INSTALL_PREFIX的默認(rèn)安裝目錄為~/opencv3.4.5/opencv-3.4.5/build/installed
ubuntu20.04下多版本opencv共存和切換
(3)在OPENCV_EXTRA_MODULES_PATH處,選擇opencv_contrib3.4.5擴(kuò)展庫的輸入目錄(單擊這一行后方空白處即可選中)然后選擇opencv_contrib-3.2.0文件夾中的modules文件夾,注意,不是只選中opencv_contrib-3.2.0文件夾就好了,需要選中里面的modules文件夾! 如下圖所示,然后點(diǎn)Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用來指定要編譯的擴(kuò)展模塊,其中包括OpenCV_contrib模塊。
ubuntu20.04下多版本opencv共存和切換ubuntu20.04下多版本opencv共存和切換
7、點(diǎn)擊Generate生成配置文件,這一步應(yīng)該比較快就完成了。
8、接著,在build目錄下打開終端,輸入:

make -j4

此時(shí)報(bào)錯(cuò):

原因是ceres版本過高與opencv3.4.5不兼容,原來安裝的版本是ceres2.2.0,因此再重新安裝ceres1.14.0,并像之前步驟那樣使用cmake-gui命令修改ceres1.14.0的安裝路徑使其不覆蓋原來的ceres。如果不想那么麻煩,可以卸載原有的ceres重新安裝。

重新安裝ceres后,重新按照上述步驟配置opencv,然后在build目錄下打開終端,輸入:

make -j4

編譯成功之后,再輸入

sudo make install

之后便能成功安裝opencv3.4.5。

參考博客:https://blog.csdn.net/jindunwan7388/article/details/80397700

三、配置環(huán)境變量

1、安裝成功后還需要設(shè)置opencv的環(huán)境變量。打開文件:

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

2、將opencv3.4.5庫文件的路徑添加到環(huán)境變量中,將以下內(nèi)容添加到最后::

/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed/lib

3、接下來配置庫:

sudo ldconfig

4、更改環(huán)境變量:

sudo gedit /etc/bash.bashrc

5、在文件后添加:

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed/lib/pkgconfig
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed/lib

6、更新~/.bashrc

source ~/.bashrc 

7、查詢OpenCV版本

pkg-config --modversion opencv

如果輸出3.4.5,就表明配置成功。
如果想使用之前的版本,在~/.bashrc中注釋掉增加的內(nèi)容,然后source ~/.bashrc即可。

四、多版本opencv的切換

如果只有一個(gè)版本的OpenCV,在CMakeList.txt中使用以下語句即可。在OpenCV編譯好后,所在目錄中會(huì)生成OpenCVConfig.cmake文件,這個(gè)文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。 這種情況適用于只有一個(gè)版本的opencv,安裝在默認(rèn)路徑下,一般是/usr/local/lib下,比如我的opencv4.4.5, 因?yàn)榘惭b的時(shí)候如果不指定prefix路徑,那么在make install 時(shí)會(huì)將所有的 .so 文件安裝在 /usr/local/lib 下,所有的頭文件安裝在/usr/include下。

FIND_PACKAGE(OpenCV REQUIRED)

但是這里我們對opencv3.4.5的安裝指定了路徑,所以,如果想要使用opencv3.4.5,則需要在find_package之前設(shè)定cmake的查找路徑,也就是讓cmake去"/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed"找opencv;

set(CMAKE_PREFIX_PATH "/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed")

這里需要贅述的是,find_package 其實(shí)尋找的是OpenCVConfig.cmake文件,打開這個(gè)文件就能看到當(dāng)前opencv所對應(yīng)的版本,同時(shí)也對一些路徑進(jìn)行了定義,類似于c++中的宏的感覺,尤其是:OpenCV_LIBS OpenCV_INCLUDE_DIRS 兩個(gè)路徑,這就保證了cmake可以正常找到opencv所需要的頭文件和庫文件;

因此也就有了第三種包含opencv的方法,就是直接設(shè)定這兩個(gè)路徑,OpenCVConfig.cmake文件的路徑為/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed/share/OpenC

set(OpenCV_DIR "/home/xqs/3rdparty/opencv3.4.5/opencv-3.4.5/build/installed/share/OpenCV")
find_package(OpenCV 3.4.5 REQUIRED COMPONENTS core highgui imgproc flann calib3d)  
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})

參考博客:https://blog.csdn.net/qq_25458977/article/details/103931360

五、卸載ceres

Ceres只有一個(gè)庫文件在"/usr/local/lib"中,并且所有頭文件都在"/usr/local/include/ceres"中

sudo rm -r /usr/local/lib/cmake/Ceres
sudo rm -r /usr/local/include/ceres /usr/local/lib/libceres.a

六、安裝Ceres

1、 安裝依賴庫:

sudo apt-get install liblapack-dev libsuitesparse-dev libgflags-dev 
sudo apt-get install libgoogle-glog-dev libgtest-dev
sudo apt-get install libcxsparse3

2、下載ceres-solver-1.14.0

wget ceres-solver.org/ceres-solver-1.14.0.tar.gz

3、解壓

tar -zxvf ceres-solver-1.14.0.tar.gz

4、編譯安裝ceres文章來源地址http://www.zghlxwxcb.cn/news/detail-478280.html

sudo mkdir build
cd build
sudo cmake ..
sudo make -j4
sudo make install

到了這里,關(guān)于ubuntu20.04下多版本opencv共存和切換的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ubuntu20.04安裝c++版本的OpenCV

    Ubuntu20.04安裝c++版本的OpenCV

    https://www.jianshu.com/p/3c2fc0da7398 https://docs.opencv.org/4.5.3/d7/d9f/tutorial_linux_install.html https://www.jianshu.com/p/3c2fc0da7398 https://www.cnblogs.com/yongy1030/p/10293178.html 其實(shí)官網(wǎng)步驟已經(jīng)非常清楚了,只不過是英文的,可能有小伙伴看不下去,所以不妨看看這篇博客。 進(jìn)入官網(wǎng),選擇你要下載的

    2024年02月12日
    瀏覽(26)
  • 【Ubuntu 20.04LTS系統(tǒng)】安裝CUDA11.8、cuDNN,可進(jìn)行CUDA版本切換

    【Ubuntu 20.04LTS系統(tǒng)】安裝CUDA11.8、cuDNN,可進(jìn)行CUDA版本切換

    https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 更新軟件列表和必要的依賴項(xiàng) 步驟一: 下載CUDA安裝包 進(jìn)行CUDA和cuDNN的選擇,也可以直接根據(jù)官方推薦進(jìn)行下載安裝。 從Nvidia官網(wǎng)下載CUDA https://developer.nvidia.com/cuda-downloads 下方鏈接,選擇更多版本 https://developer.nvidia.com/cuda-toolkit-archiv

    2024年02月16日
    瀏覽(61)
  • Ubuntu20.04同時(shí)安裝ROS1和ROS2共存

    Ubuntu20.04同時(shí)安裝ROS1和ROS2共存

    每版的Ubuntu系統(tǒng)版本都有與之對應(yīng)ROS版本的,每一版ROS都有其對應(yīng)版本的Ubuntu版本,不可隨便裝,ubuntu20.04對應(yīng)ROS1 noetic和ROS2 foxy ROS2 Galactic版本。當(dāng)然最方便的是使用魚香ROS一鍵安裝: 但我們接下來使用手動(dòng)安裝。 老規(guī)矩,先換源 打開軟件更新 選擇Download from-Other,找到C

    2024年02月08日
    瀏覽(30)
  • 【已解決】Ubuntu 20.04 編譯OpenCV 動(dòng)態(tài)鏈接庫指向版本不一致導(dǎo)致出錯(cuò)

    【已解決】Ubuntu 20.04 編譯OpenCV 動(dòng)態(tài)鏈接庫指向版本不一致導(dǎo)致出錯(cuò)

    問題:編譯OpenCV 4.8.1, 顯示出錯(cuò): /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to `ffi_type_uint32@LIBFFI_BASE_7.0\\\' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to `ffi_type_sint32@LIBFFI_BASE_7.0\\\' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to

    2024年02月04日
    瀏覽(35)
  • Ubuntu20.04 系統(tǒng)安裝多個(gè)版本的 JDK【多版本jdk切換:sudo update-alternatives --config java】

    Ubuntu20.04 系統(tǒng)安裝多個(gè)版本的 JDK【多版本jdk切換:sudo update-alternatives --config java】

    目前Java版本更新很快,每半年推出一個(gè)版本,因此我們可能需要在自己的電腦上安裝不同版本的JDK,以便于我們學(xué)習(xí)使用,本文主要介紹了在Ubuntu18.04系統(tǒng)上安裝JDK(OpenJDK 、 Oracle JDK)以及管理不同版本JDK(JDK1.8、JDK9、JDK10等)的方法。 第一種:安裝系統(tǒng)自帶的 OpenJDK 因?yàn)?/p>

    2024年02月09日
    瀏覽(22)
  • Ubuntu 20.04 LTS 系統(tǒng)下 安裝Nvidia 顯卡驅(qū)動(dòng)、CUDA、cuDNN, 并可進(jìn)行CUDA版本切換

    Ubuntu 20.04 LTS 系統(tǒng)下 安裝Nvidia 顯卡驅(qū)動(dòng)、CUDA、cuDNN, 并可進(jìn)行CUDA版本切換

    因?yàn)樽錾疃葘W(xué)習(xí)的研究項(xiàng)目,為全新機(jī)器在Ubuntu 20.04 LTS 系統(tǒng)下 安裝Nvidia 顯卡驅(qū)動(dòng)、Cuda、Cudnn。并進(jìn)行CUDA版本切換 成功安裝完成了,寫個(gè)記錄。 步驟一: 安裝更新軟件列表和依賴項(xiàng) 在安裝Nvidia顯卡驅(qū)動(dòng)之前,需要更新軟件列表和必要的依賴項(xiàng)。 步驟二: 查看GPU型號(hào),并

    2024年02月13日
    瀏覽(28)
  • 超詳細(xì)教程——Ubuntu20.04 安裝英偉達(dá)NVIDIA顯卡驅(qū)動(dòng)、CUDA、Cmake以及不同版本的CUDA切換

    超詳細(xì)教程——Ubuntu20.04 安裝英偉達(dá)NVIDIA顯卡驅(qū)動(dòng)、CUDA、Cmake以及不同版本的CUDA切換

    在windows和linux雙系統(tǒng)下,為ubuntu安裝nvidia、cuda、cmake等程序是一個(gè)可能會(huì)難到各個(gè)計(jì)算機(jī)小白的問題,本文將一步步地帶您學(xué)會(huì)安裝以上內(nèi)容。 一、安裝英偉達(dá)NVIDIA顯卡驅(qū)動(dòng) 對于新安裝的linux操作系統(tǒng),我們需要為它安裝nvidia顯卡驅(qū)動(dòng)(ubuntu有自帶的顯卡驅(qū)動(dòng)但更推薦安裝

    2024年02月02日
    瀏覽(26)
  • 【SLAM實(shí)戰(zhàn)篇】Ubuntu 20.04版本(OpenCV版本4.5.3)對于ORB-SLAM2安裝運(yùn)行,代碼編譯,自己的數(shù)據(jù)集構(gòu)造

    【SLAM實(shí)戰(zhàn)篇】Ubuntu 20.04版本(OpenCV版本4.5.3)對于ORB-SLAM2安裝運(yùn)行,代碼編譯,自己的數(shù)據(jù)集構(gòu)造

    學(xué)完SLAM十四講 心血來潮想跑一下ORB-SLAM2的代碼,純新手小白,自己的踩坑經(jīng)歷進(jìn)行整理: 本文章主要對ORB-SLAM2進(jìn)行編譯運(yùn)行。以及自己構(gòu)建數(shù)據(jù)集。 源碼github地址:https://github.com/raulmur/ORB_SLAM2 終端克隆代碼: 查看源代碼,其重要的代碼庫僅為三個(gè)文件夾: Example include s

    2024年03月13日
    瀏覽(34)
  • Ubuntu20.04切換阿里源鏡像(清華源、網(wǎng)易源)

    Ubuntu20.04切換阿里源鏡像(清華源、網(wǎng)易源)

    1.查看Ubuntu版本: 顯示結(jié)果如下: 2.備份系統(tǒng)鏡像源文件 備份配置文件,當(dāng)配置出錯(cuò)時(shí),可以回滾,ubuntu鏡像配置文件是:/etc/apt/sources.list,執(zhí)行下面命令進(jìn)行備份。 3.使用vi修改 sources.list 文件 使用命令::%d 清空文件所有內(nèi)容 復(fù)制下面的源鏡像到文件中,選擇其中一個(gè)源鏡

    2024年02月16日
    瀏覽(28)
  • Ubuntu20.04安裝OpenCV

    Ubuntu20.04安裝OpenCV

    開源計(jì)算機(jī)視覺(OpenCV)是一個(gè)主要針對實(shí)時(shí)計(jì)算機(jī)視覺的編程函數(shù)庫。 OpenCV的應(yīng)用領(lǐng)域包括:2D和3D功能工具包、運(yùn)動(dòng)估計(jì)、面部識(shí)別系統(tǒng)、手勢識(shí)別、人機(jī)交互、移動(dòng)機(jī)器人、動(dòng)作理解、物體識(shí)別、分割和識(shí)別、實(shí)體影像立體視覺:來自兩個(gè)攝像機(jī)的深度感知、運(yùn)動(dòng)跟蹤、增強(qiáng)

    2023年04月09日
    瀏覽(70)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包