使用环境:ubuntu14.04,indigo
indigo版本的ros默认支持的是opencv2.4.8, 其带的库cv_bridge依赖于opencv2。
但是,msckf_vio使用的是Ubuntu 16.04 with ROS Kinetic,Kinetic版本的ros使用的是opencv3。 同时算法中使用了一些opencv3才有的库,因此必须使用opencv3。
解决办法,使用opencv3重新源码编译cv_bridge.
cv_bridge源码地址: https://github.com/ros-perception/vision_opencv/tree/indigo
在项目的Cmakelist.txt中执行cv_bridge的路径,并删除catkin_package中对cv_bridge的依赖,
cv_bridge的指定方式:
set(cv_bridge_DIR /home/wk/OpenSource/cv_bridge_indigo_opencv3/share/cv_bridge/cmake)
同时使用cv_bridge的部分链接cv_bridge的库,并包含头文件:
${cv_bridge_INCLUDE_DIRS}
${cv_bridge_LIBRARIES}
具体的细节参考下面的博客:
Ros Indigo下使用OpenCV3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)