天天看点

解决视觉SLAM十四讲ch7中 g2o库编译错误以及opencv报错问题

一、问题

最近在看高翔博士的视觉Slam十四讲,其中在跑书中第七节的例子的时候出现如下问题:

1.编译的时候pose_estimation_3d2d.cpp以及pose_estimation_3d3d.cpp文件编译不通过,如下图

解决视觉SLAM十四讲ch7中 g2o库编译错误以及opencv报错问题

2.opencv imshow函数显示不出来图片内容,且窗口标题乱码,如下图

解决视觉SLAM十四讲ch7中 g2o库编译错误以及opencv报错问题

二、解决方法

第一个问题是由于g2o库的版本不同导致的问题,如果你使用的版本和高博士的版本不一样就可能会出现这样的问题。有两种解决方法:

1.修改pose_estimation_3d2d.cpp和poes_estimation_3d3d.cpp源码,具体如何修改可以参考这篇博客:https://blog.csdn.net/weixin_41269344/article/details/82911047 , 亲测有效。

2.可以安装和高博版本一样的g2o库,亲测有效。下载地址:https://github.com/gaoxiang12/slambook ,(安装位置:slambook-3rdparty-g2o.tar.gz)。

第二个问题是由于opencv显示中文的时候出错。开始我怀疑是opencv版本太低的问题,然后把opencv2.4.1版本卸载重新安装opencv3.2.0版本(参考这篇博客:https://blog.csdn.net/qq_29229045/article/details/7852739 , 结果还是这样!由截图可以看出来窗口名是打印不出来的,然后想是不是因为汉字的原因?只想不行,要实践了才知道!于是进入feature_extraction.cpp文件,把里面的汉字用字符代替,完美运行。

修改前:

解决视觉SLAM十四讲ch7中 g2o库编译错误以及opencv报错问题

修改后:

解决视觉SLAM十四讲ch7中 g2o库编译错误以及opencv报错问题

运行成功:

解决视觉SLAM十四讲ch7中 g2o库编译错误以及opencv报错问题

总结:

这里后来我尝试着修改代码想把中文显示出来,但是没有成功,如果有同学知道问题所在,欢迎交流。

另外我同学安装opencv3.4版本是可以完美运行的,所以我也不知道具体是不是opencv版本的问题!

SLAM学习的过程是很枯燥很考验耐心的,如果有人一起学习有人交流会好很多。在此,感谢我的好友LSJ的帮助,他是一位很踏实勤奋的宝宝,我们一同努力。。。