安装调试Pano_SLAM

安装依赖项和工具

打开终端,依次输入命令,安装相关依赖和工具

sudo apt update
sudo apt upgrade
sudo apt install libglew-dev cmake libboost-dev libboost-thread-dev libboost-filesystem-dev libeigen3-dev -y 

参照https://blog.csdn.net/qq_41694024/article/details/125942875安装cmake

参照https://blog.csdn.net/KRISNAT/article/details/122071364安装pangolin,(直接安装v0.5比较好,参考下面的问题6)

参照https://blog.csdn.net/weixin_41552975/article/details/121869543?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-121869543-blog-97476135.pc_relevant_layerdownloadsortv1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-121869543-blog-97476135.pc_relevant_layerdownloadsortv1&utm_relevant_index=1安装opencv。

调试阶段

执行下面的命令

cd Pano-SLAM
chmod +x build.sh
./build.sh

1. 可能会出现如下错误

CMake Error at CMakeLists.txt:35 (message): OpenCV > 2.4.3 not found.

解决办法:
\Pano_SLAM\CMakeLists.txt
和 Pano_SLAM\Thirdparty\DBoW2\CMakeLists.txt第31行,find_package(OpenCV 3.0 QUIET),更改为自己的OpenCV版本号,若不知道版本号,可利用下面的命令进行查询。

pkg-config opencv --modversion

2. 可能会出现如下错误

Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)

使用

sudo apt-get install python3-dev

之后,该错误消失。

3. 可能会出现如下错误

Pano_SLAM/include/ORBextractor.h:12:10: fatal error: opencv/cv.h: No
such file or directory

在opencv4中opencv2的cv.h融合进了imgproc.hpp里,所以把源码中的#include <opencv/cv.h>改成#include <opencv2/imgproc.hpp>即可。

4. 可能会出现如下错误

参考https://blog.csdn.net/Lkilvin/article/details/123054182

‘decay_t’ is not a member of ‘std’

将CmakeLists.txt中

set(CMAKE_CXX_FLAGS "-std=c++11")

改为

set(CMAKE_CXX_STANDARD 14)

5. 可能会出现如下错误

fatal error: numpy/arrayobject.h: No such file or directory

根据Python版本号,执行下列命令

python -c "import numpy; print(numpy.get_include())" 

python3 -c "import numpy; print(numpy.get_include())" 

找不到的话,需要安装 NumPy。

Python3安装numpy的命令如下

sudo apt-get install python3-numpy

6. 可能会出现如下错误

/usr/bin/ld: cannot find -lEigen3::Eigen: No such file or directory
collect2: error: ld returned 1 exit status make[2]: ***
[CMakeFiles/Pano_SLAM.dir/build.make:439: …/lib/libPano_SLAM.so]
Error 1 make[1]: *** [CMakeFiles/Makefile2:85:
CMakeFiles/Pano_SLAM.dir/all] Error 2 make: *** [Makefile:91: all]
Error 2

(通过改变Pangolin的版本解决,降低为V0.5)
不同版本Pangolin的下载地址https://github.com/stevenlovegrove/Pangolin/issues/769
编译v0.5过程中可能会出现错误,参考https://blog.csdn.net/weixin_54347747/article/details/126659089解决。

7. 可能会出现如下错误

Pano_SLAM/Examples/FishEye/LB_FishEye.cc:60:53: error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope 60 | cv::Mat tImg=cv::imread(vstrImageFishEye[0][0],CV_LOAD_IMAGE_UNCHANGED);

继续使用 CV_LOAD_IMAGE_UNCHANGED的话,but add this header file:

#include "opencv2/imgcodecs/legacy/constants_c.h" 

参考
https://blog.csdn.net/markton1990/article/details/125624987?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-125624987-blog-124796674.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-125624987-blog-124796674.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=1

8. 可能会出现如下错误

Pano_SLAM/Examples/FishEye/LB_FishEye.cc:308:25: error: ‘CV_RGB2GRAY’ was not declared in this scope 308 | cvtColor(src, gray, CV_RGB2GRAY); // 转换为灰度图

参考https://www.cnblogs.com/lonelypinky/p/11586388.html
文件头添加

#include <opencv2/imgproc/types_c.h>

运行阶段

从原作者团队官网http://gpcv.whu.edu.cn/data/panslam.html下载Kashiwa dataset,解压。

运行程序时,出现闪退问题。
参照https://blog.csdn.net/baidu_38431960/article/details/126669067解决该问题。
g2o和工程的CMakeLists.txt文件中,将其中的march=native注释掉,然后全部重新编译。

原语句为

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  -Wall  -O3 -march=native ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall   -O3 -march=native")

将其中的 -march=native注释掉,更改为

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  -Wall  -O3 ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall   -O3 ")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值