官网说opencv3.2到4.4都行,所以一开始我的opencv版本是3.3.1。
编译也没问题,但是运行带惯性的总是报错:
Input sensor was set to: Monocular-Inertial
Loading settings from /home/gl/SLAM/ORB_SLAM3/Examples/Monocular-Inertial/EuRoC.yaml
Camera1.k3 optional parameter does not exist...
-Loaded camera 1
-Loaded image info
double free or corruption (out)
已放弃 (核心已转储)
查询资料可能是opencv版本问题。
OK,尝试安装一个高版本的opencv。
最后选择安装3.4.1,但是没有删除原来的opencv,选择了多版本安装(很多博客都有,关键的地方就是安装的时候把默认的路径改成自己要放的位置,这样就和原来安装opencv默认的路径不一样,这样可以实现opencv多版本切换)。
安装好opencv后打开orb-slam3文件夹下ros的cmakelists文件更改链接opencv的地方:
把原来注释掉,链接我安装的opencv3.4.1路径。
更改后重新编译就好了。