树莓派4B运行ORB-SLAM2(手把手教学)

准备工作:
1、树莓派4B(4GB运行内存)、显示器、鼠标、键盘、32GB内存;
2、opencv3.2.0(从官网下载或着该链接:https://zh.osdn.net/projects/sfnet_opencvlibrary/downloads/opencv-unix/3.2.0/opencv-3.2.0.zip/)官网下载较慢、链接地址下载很快
3、pangolin(本人用的《视觉SLAM十四讲》中提供的,大家也可以百度下载,这个资源很好找)。

正式开始
一、树莓派开机后,首先要换镜像源(本人用的清华源),如果用树莓派自带的镜像源,会出现各种依赖问题
(1)查看系统版本

cat /etc/os-release

VERSION_ID为版本号;
VERSION_CODENAME为版本buster(有的为stretch版本,这个要看清楚,影响后面改镜像源要输入的代码)
(2)更换软件源

sudo nano /etc/apt/sources.list

用#注释文件中的所有内容,添加:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
注意代码中的buster部分,如果第一步查看的版本不是buster,要将buster部分改为你所使用树莓派系统的版本
添加完成后,ctrl+o保存,然后点击回车,再ctrl+x退出
(3)更换系统源

sudo nano /etc/apt/sources.list.d/raspi.list

用#注释文件中的所有内容,添加:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
添加完成后,ctrl+o保存,然后点击回车,再ctrl+x退出
(4)更新树莓派数据

sudo apt-get update

更新,至此,换源过程已完成

二、安装eigen
(1)安装相关依赖

sudo apt-get install libboost-all-dev libblas-dev liblapack-dev

(2)安装eigen

sudo apt-get install libeigen3-dev

三、安装opencv
(1)安装相关依赖

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

可能在安装时会提醒你更换依赖项版本,你更换成提供的相应版本就可以了
(2)安装opencv
进入到下载的opencv文件夹中

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=OFF .. -DENABLE_PRECOMPILED_HEADERS=OFF

cmake过程出现错误可参考https://blog.csdn.net/qq_17783559/article/details/81462599
cmake成功后,输入:

make

需要等待很长时间,可能会出现

…cv2.cpp.o] Error 1
树莓派4B运行ORB-SLAM2(手把手教学)_第1张图片
可参考该博客https://blog.csdn.net/qq_44357371/article/details/105966714

make需要等很长时间,编译完成后,一定一定要记得输入:

sudo make install

这样才能将opencv安装到树莓派上

三、安装pangolin
(1)安装依赖

sudo apt-get install libglew-dev  

(2)安装pangolin
进入到pangolin文件夹,依次输入:

mkdir build   
cd build  
cmake -DCPP11_NO_BOOST=1 ..   
make -j

在make时可能出现错误,参考https://blog.csdn.net/limhsysu/article/details/84959736
问题:/home/micoarm/Pangolin/include/pangolin/video/drivers/ffmpeg.h:143:5: error: ‘PixelFormat’ does not name a type
PixelFormat fmtdst;
make[2]: *** [src/CMakeFiles/pangolin.dir/video/video_output.cpp.o] Error 1
make[2]: Leaving directory /home/micoarm/Pangolin/build’ make[1]: *** [src/CMakeFiles/pangolin.dir/all] Error 2 make[1]: Leaving directory/home/micoarm/Pangolin/build’
make: *** [all] Error 2
***
**解决办法:**打开Pagolin/src/CMakeList.txt,将
find_package(FFMPEG QUIET)模块的所有部分注释掉
编译完成后,输入

sudo make install 

进行安装

四、编译orb-slam2

cd ORB_SLAM2
chmod +x build.sh
./build.sh

可能会出现一些错误
(1)usleep未定义:
对相应文件增加
#include

(2)编译ORB-SLAM2出现fatal error config.h没有那个文件或目录
根据ORB-SLAM2主文件夹下面的build.sh里面的步骤配置cmake make 或者直接运行build.sh

五、运行ORB-SLAM2
具体运行步骤查看orb-slam2中的README文本

你可能感兴趣的:(opencv,linux)