一、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
二、運行
待更。。