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

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

這篇具有很好參考價(jià)值的文章主要介紹了ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 ORB-SLAM3算法環(huán)境搭建

1.1??C++11 or C++0x Compiler?安裝

新建一個(gè)終端(新建終端的快捷鍵是Ctrl+Alt+T)

輸入以下代碼

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install build-essential

sudo apt-get install cmake

1.2??Pangolin?安裝

Pangolin的官方教程地址:https://github.com/stevenlovegrove/Pangolin

安裝Pangolin

1.2.1下載Pangolin,推薦安裝tag v0.6版本

# Clone Pangolin along with it's submodules

git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

1.2.2安裝依賴(lài)

./scripts/install_prerequisites.sh --dry-run recommended

1.2.3編譯

./scripts/install_prerequisites.sh -m brew all

可能出現(xiàn)的問(wèn)題

如果安裝Pangolin沒(méi)有提示cmake版本不足,則無(wú)需此步驟

cmake一般都是直接安裝的,如sudo apt-get install cmake,所以這里我們需要自己下載新版的cmake并覆蓋安裝。

進(jìn)入Cmake官網(wǎng):Cmake官網(wǎng)下載地址

選擇合適的版本,比如本人選擇的是cmake-3.20.6.tar.gz

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

(1)先把舊版cmake卸載

sudo apt-get autoremove cmake

(2)下載之后進(jìn)行解壓,編譯(這里提示缺少openssl庫(kù),先進(jìn)行安裝)。

新建一個(gè)終端,輸入如下:

sudo apt-get install openssl

tar zxvf cmake-3.20.6.tar.gz

cd cmake-3.20.6

./bootstrap

make -j4

sudo make install

(3)再編譯安裝Pangolin則可以通過(guò)。

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

1.3??OpenCV3.4.3安裝

去官網(wǎng)下載opencv,版本選擇opencv3.4.3,其他版本同理。

1.3.1官網(wǎng)地址:鏈接: opencv官網(wǎng).

下載選擇Source就可以,沒(méi)有必要選github下載,太慢了。

1.3.2解壓zip包

unzip opencv-3.4.3.zip

cd opencv-3.4.3

(1) .3.3安裝opencv依賴(lài)項(xiàng)

這一步真的會(huì)缺少非常多庫(kù),最好都提前安裝好

sudo apt-get install cmake

sudo apt-get install build-essential

sudo apt-get install 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

(2) Cmake

mkdir build

cd build

cmake ..

cmake 過(guò)程會(huì)出現(xiàn)非常多的錯(cuò)誤

問(wèn)題1:

Unable to locate package libjasper-dev

解決方法:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt update

sudo apt install libjasper1 libjasper-dev

成功的解決了問(wèn)題,其中l(wèi)ibjasper1是libjasper-dev的依賴(lài)包

問(wèn)題2:

No package ‘libavresample’ found

解決方法:

sudo apt-get install libavresample-dev

問(wèn)題3:

IPPICV: Download failed: “Couldn’t connect to server”

即ippicv的 ippicv_2017u3_lnx_intel64_general_20180518.tgz 下載不下來(lái)

原因:由于有qiang,無(wú)法進(jìn)入外網(wǎng)下載

解決方法:

打開(kāi)opencv 3.4.3/build/CMakeDownloadLog.txt

找到ippicv_2017u3_lnx_intel64_general_20180518.tgz 所對(duì)應(yīng)的下載鏈接,將這個(gè)鏈接保存下來(lái)。

選擇一種你們懂得的方式,將這個(gè)文件下載下來(lái)。(沒(méi)有這種方式的話,只能找別人的百度云了)

接著打開(kāi) /opencv-3.4.3/3rdparty/ippicv/ippicv.cmake 這個(gè)文件,將47行的

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

改為

"file:home/xxx/xxx/"

這里的地址為下載下來(lái)的ippicv_2017u3_lnx_intel64_general_20180518.tgz的文件夾地址

特別需要注意的是file: 后面不要加/

特別需要注意的是file: 后面不要加/

特別需要注意的是file: 后面不要加/

問(wèn)題4:

Could not find OpenBLAS include. Turning OpenBLAS_FOUND off

– Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off

– Could NOT find Atlas (missing: Atlas_CBLAS_INCLUDE_DIR Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY)

– A library with BLAS API not found. Please specify library location.

– LAPACK requires BLAS

– A library with LAPACK API not found. Please specify library location.

– Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)

– Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)

– VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file

解決方法:

sudo apt-get install libopenblas-dev

問(wèn)題5:

No package ‘gstreamer-base-1.0’ found

解決方法:

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

(3)再次cmake和make,即執(zhí)行以下命令

cmake ..

sudo make // 時(shí)間比較漫長(zhǎng)

sudo make install

(4) 將OpenCV的庫(kù)添加到路徑

首先將OpenCV的庫(kù)添加到路徑,可以讓系統(tǒng)找到

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

在文件末尾添加

/usr/local/lib

執(zhí)行如下命令使得剛才的配置路徑生效:

sudo ldconfig

(5) 配置bash

打開(kāi)bashrc

sudo gedit /etc/bash.bashrc

在末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

保存后,重新運(yùn)行配置

source /etc/bash.bashrc

更新

sudo updatedb

到此,所有opencv3.4.3配置結(jié)束。

(6 )小程序運(yùn)行

找到 opencv-3.4.3/samples/cpp/example_cmake 目錄下,官方已經(jīng)給出了一個(gè)cmake的example,拿來(lái)測(cè)試。按順序執(zhí)行:

cmake .

make

./opencv_example

可看到打開(kāi)了攝像頭,在左上角有一個(gè)hello opencv ,即表示配置成功。

1.4、Eigen安裝

建議源碼安裝Eigen。

這里給出Eigen的官網(wǎng):Eigen官網(wǎng)

Eigen版本我選擇的是:Eigen 3.3.9 released版。

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

下載下來(lái),我下載的是zip格式,解壓,編譯。

在終端內(nèi),執(zhí)行以下安裝操作:

unzip eigen-3.3.9.zip
cd eigen-3.3.9
mkdir build
cd build
cmake ..
make
sudo make install

1.5、boost安裝

如果不安裝boost會(huì)報(bào)很多的關(guān)于c++的錯(cuò)誤,并且無(wú)法定位。

進(jìn)入boost官網(wǎng)網(wǎng)址:http://www.boost.org/users/download/

下載boost安裝包,我選擇的是boost_1_77_0.tar.gz版本

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

接著還是一樣,解壓編譯安裝,即執(zhí)行以下命令:

tar -xvf boost_1_77_0.tar.gz

cd ./boost_1_77_0

./bootstrap.sh

sudo ./b2 install

1.6、DBoW2 and g2o

這兩個(gè)庫(kù)在ORB-SLAM3的Thirdparty文件夾下,編譯ORB-SLAM3的時(shí)候會(huì)自動(dòng)編譯,不需要我們手動(dòng)編譯。

2. 正式編譯ORB_SLAM3

克隆到本地

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3

修改build.sh文件

將所有的make -j改為make -j4(原因是make -j會(huì)調(diào)用所有的核心,導(dǎo)致電腦直接卡死,也可能是我電腦太弱了)

cd ~/ORB_SLAM3
gedit build.sh

改為如下:

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

接著編譯運(yùn)行

chmod +x build.sh

./build.sh

問(wèn)題1

編譯過(guò)程中出現(xiàn)已殺死internal computer error,即內(nèi)存不足的問(wèn)題。

我參考了如下方式解決:Linux增加swap分區(qū)的方法https://www.cnblogs.com/kaishirenshi/p/8986467.html

問(wèn)題2

sigslot/signal.app報(bào)錯(cuò),錯(cuò)誤內(nèi)容類(lèi)似error: ‘XXX’ is not a member of ‘std’

仔細(xì)研究std后發(fā)現(xiàn),可能是編譯過(guò)程中調(diào)用了某一些庫(kù),庫(kù)里面使用的是c++14的標(biāo)準(zhǔn)語(yǔ)法,但ORB_SLAM3中只有c++11的語(yǔ)法許可,沒(méi)有14的,這就造成了沖突。

打開(kāi)ORB_SLAM3/CMakeLists.txt

gedit ./CMakeLists.txt

添加c++14的使用許可

add_compile_options(-std=c++14)

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

測(cè)試

進(jìn)入ORB_SLAM3

cd ~/ORB_SLAM3

編譯成功后,我們來(lái)跑一個(gè)示例。

首先,進(jìn)入 EuRoC 數(shù)據(jù)集

選擇DownloadsASL Dataset Format格式,這里我下載了Machine Hall 01數(shù)據(jù)。

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

圖片數(shù)據(jù)集下載好解壓后是一個(gè)mav0這種形式的文件夾,在ORB-SLAM3文件夾下新建一個(gè)dataset文件夾,在dataset文件夾新建一個(gè)名稱(chēng)為MH01的文件夾,把mav0整個(gè)文件夾拷貝到MH01文件夾中。

ORB-SLAM3路徑下新打開(kāi)一個(gè)終端:

# 命令格式 可執(zhí)行文件 詞袋路徑 yaml路徑 數(shù)據(jù)集圖片路徑 時(shí)間戳路徑 需要保存的軌跡文件名稱(chēng)

輸入命令:

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

如果沒(méi)有圖像,在ORB-SLAM3/Examples/Monocular/mono_euroc.cc中的第83行False改成true,保存并退出。重新輸入命令

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

可視化界面:

ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)

如果最后出現(xiàn)Gtk-Message: 15:46:39.932: Failed to load module “canberra-gtk-module“報(bào)錯(cuò),則輸入命令:

sudo apt install libcanberra-gtk-module -y 

重新輸入命令

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

就沒(méi)有報(bào)錯(cuò)了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-418996.html

到了這里,關(guān)于ubuntu18.04配置ORB-SLAM3并跑EuRoC數(shù)據(jù)集(單目)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包