ORB-SLAM2的安裝和運行流程


一、ORB-SLAM2安裝

1.在https://github.com/raulmur/ORB_SLAM2上git clone到當前文件夾內,若想下載到指定文件夾內,就需要cd進入指定文件內,然后再git clone https://github.com/raulmur/ORB_SLAM2

2.安裝ORB-SLAM2的依賴項:

sudo apt-get install libopencv-dev libeigen3-dev libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxspares3.1.2 libcholmod-dev

如果運行上述命令終端顯示未找到該指令,可以輸入部分名字然后用Tab鍵自動識別或者顯示選項。

3.運行build.sh,我會出現以下情況:

(1)編譯無法通過,錯誤信息顯示未找到opencv2/cv.h

通過https://blog.csdn.net/sinat_24143931/article/details/78488833,了解到opencv從2.2版本以后<opencv root>include下有兩個文件夾 opencv 和opencv2 。從官方的意思來看,它逐漸喜歡用opencv2里面的那種包含頭文件的方式。
但是cv.h highgui.h是opencv目錄下的頭文件。

因此,解決方案就是在/ORB_SLAM2/include/ORBextractor.h里將頭文件路徑#include<opencv2/cv.h>改為#include<opencv/cv.h>就可以了。

(2)由於電腦配置太低,顯示virtual memory exhausted: Cannot allocate memory,編譯時會卡住,無法使用多線程編譯模式,需要將build.sh中的最后一行make -f改為make -l:

cd Vocabulary
tar -xf ORBvoc.txt.tar.gz
cd ..
 
echo "Configuring and building ORB_SLAM2 ..."
 
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -l

 (3)在雙目.cpp編譯時,出現error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope

這是因為opencv在3.0之后把CV_LOAD_IMAGE_UNCHANGED改成了IMREAD_UNCHANGED,它定義在cv命名空間內,所以需要加上作用域c::IMREAD_UNCHANGED

詳細解釋可以看http://docs.opencv.org/3.0.0/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56

二、運行

待更。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM