ROS cv_bridge

cv_bridge把ROS 的数据格式转为Opencv可以使用的数据格式。即是一个提供ROS和OpenCV库提供之间的接口的开发包。

ROS cv_bridge

报错

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
  <[email protected]>' to fix it.

原因

主要是/opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake的配置问题。
由于该文件默认我们是没有读写权限的,所以首先必须获取读写权限。

解决

首先执行
sudo chmod 777 /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cmake
虽然执行成功,但是发现仍然没有获取到读写权限。
我们必须获取上一级文件目录的读写权限,执行
sudo chmod 777 -R /opt/ros/indigo/share/cv_bridge
可以发现获取到了cv_bridgeConfig.cmake的读取权限。

然后将
set(cv_bridge_FOUND_CATKIN_PROJECT TRUE)

if(NOT "include;/usr/include/opencv;/usr/include " STREQUAL " ")
  set(cv_bridge_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/include/opencv;/usr/include")
改为
set(cv_bridge_FOUND_CATKIN_PROJECT TRUE)

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")
保存之后,重新catkin_make,大功告成!