Understanding ROS – OpenCV interfacing packages
OpenCV is one of the popular open source real time computer vision libraries, which is mainly written in C/C++. OpenCV comes with a BSD license and is free for academic and commercial application. OpenCV can be programmed using C/C++, Python, and Java, and it has multi-platform support such as Windows, Linux, OSX, Android, and iOS. OpenCV has tons of computer vision APIs, which can be used for implementing computer vision applications. The web page of OpenCV library is http://opencv.org/.
The OpenCV library is interfaced to ROS via ROS stack called vision_opencv
. vision_opencv
consists of two important packages for interfacing OpenCV to ROS. They are:
cv_bridge
: Thecv_bridge
package contains a library that provides APIs for converting the OpenCV image data typecv::Mat
to the ROS image message calledsensor_msgs/Image
and vice versa. In short, it can act as a bridge between OpenCV and ROS. We can use OpenCV APIs to process the image and convert...