视觉SLAM十四讲ch11实践遇到的问题及解决方案

一、安装

在编译之前先安装DBow3

git clone https://github.com/rmsalinas/DBow3.git

然后cmake流程编译安装

mkdir build
cmake ..
make -j8
sudo make install

安装结束

二、编译程序

创建build文件夹并进行编译

mkdir build
cmake ..
make -8

此时出现第一个错误

视觉SLAM十四讲ch11实践遇到的问题及解决方案_第1张图片

解决方法

将CMakeLists .txt中的set( DBoW3_LIBS "/usr/local/lib/libDBoW3.a" )

改为set( DBoW3_LIBS "/usr/local/lib/libDBoW3.so" )

再运行此时出现第二个错误

 将CMakeLists .txt中的

find_package( OpenCV 3.1 REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )

改为

find_package(OpenCV)
include_directories(${OpenCV})

或者把3.1删掉也行,我认为这里是我的opencv不匹配导致,导致我后面总是出现以下错误
段错误 (核心已转储)
 

 

此时重新编译后通过(要先把build中文件删除重新编译)

视觉SLAM十四讲ch11实践遇到的问题及解决方案_第2张图片

三、程序运行

./feature_training

出现第三个错误

视觉SLAM十四讲ch11实践遇到的问题及解决方案_第3张图片

 发现feature_training.cpp图片路径出现错误

将string path = "./data/"+to_string(i+1)+".png";

改为string path = "../data/"+to_string(i+1)+".png";

然后运行成功

继续相似度计算

返回ch11文件夹运行此代码

./build/loop_closure

运行成功

视觉SLAM十四讲ch11实践遇到的问题及解决方案_第4张图片

 

你可能感兴趣的:(slam)