1 安裝opencv3.X
本文的版本是3.4.1,此外,由於mrpt的需要,還需要下載contrib模塊。
注意:下載依賴額外的版本也應該爲 opencv3.4.1,否則出現錯誤:
Duplicate Modules NAMES has been found OpenCV & Contrib latest
例如,3.4.1對應的contrib爲https://github.com/opencv/opencv_contrib/tree/3.4.1
下面的指令是把opencv和contrib一起編譯,也可以選擇指定的contrib模塊
cd <opencv_build_directory>
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
make -j8
2 編譯mrpt
安裝依賴項時記得包括libwxgtk2.8-dev,否則:MRPT compiled without wxWidgets!
編譯時:3.4.1中的bug:error: unknown type name ‘namespace’ namespace cv,需要修改相關文件
參考:https://blog.csdn.net/weixin_40966434/article/details/82803060得以解決。
3 pl stvo的編譯
可能在cmake中找不到 yaml-cpp,改爲下面的:
find_package(PkgConfig REQUIRED)
pkg_check_modules(YAML_CPP REQUIRED yaml-cpp)
4 運行
需要設置環境變量來確定數據集的根目錄,可以在.bashrc中export,然後數據集是相對於根目錄
例如:數據集目錄如下
export DATASETS_DIR=/home/stvo-pl-master/config/dataset_params
運行demo如下:00表示kitti數據集的第0個序列
cd build
./imagesStVO 00 -c ../config/dataset_params/dataset_params.yaml -o 100 -s 2 -n 1000
效果如下: