cv_bridge把ROS 的数据格式转为OpenCV可以使用的数据格式,是一个提供ROS和OpenCV库提供之间的接口的开发包。
报错
CMake Error at /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake:110 (message):
Project 'cv_bridge' specifies '/usr/include/opencv' as an include dir,
which is not found. It does neither exist as an absolute directory nor in
'/opt/ros/indigo//usr/include/opencv'. Ask the maintainer 'Vincent Rabaud
<vincent.rabaud@gmail.com>' to fix it.
原因
主要是/opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake的配置问题。
由于该文件默认我们是没有读写权限的,所以首先必须获取读写权限。
解决
step1 获取cv_bridgeConfig.cmake(路径为/opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake)的读写权限:
sudo chmod 777 -R /opt/ros/indigo/share/cv_bridge
step2 修改cv_bridgeConfig.cmake
首先打开cv_bridgeConfig.cmake
sudo gedit /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake
然后将94-96行的内容
if(NOT "include;/usr/include/opencv;/usr/include " STREQUAL " ")
set(cv_bridge_INCLUDE_DIRS "")
set(_include_dirs "include;/usr/include/opencv;/usr/include")
改为
if(NOT "include;/usr/local/include/opencv" STREQUAL " ")
set(cv_bridge_INCLUDE_DIRS "")
set(_include_dirs "/usr/local/include/opencv;/usr/include;/usr/local/include")
step3 保存之后,重新catkin_make,大功告成!