上完深蓝的课后,顺便把贺博git上的svo下下来,跑了一下,踩坑记录如下
下载
去贺博主页直接下就好了,git链接
编译
README里写得很清楚,不赘述。
问题
由于我用的ubuntu16,安装了ros,自带opencv3.3.1,然而贺博的svo是基于opencv2.4编写的,编译会报错。
错误1:变量问题
最过分的就是CvMat和Mat的转换,最开始是尝试网上的解决方案,倒是有效,用cv::cvarrToMat。
转换方法
但治标不治本,会有第二类错误。
错误2:函数问题
opencv2中有些函数在3里边已经没有了,像是这个
这个就没办法了,stackoverflow里边都没解决这个,
函数问题
解决
最后还是认怂了,安装对应版本的opencv,贺博用的是Opencv2.4.13,为了避免其他版本的问题,还是老老实实安装这个版本吧,这个博客写的很完整,强推
opencv2.13 & opencv3.2 共存
最后,在CMakeLists.txt中修改链接的OpenCV版本
重新编译即可。