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 both for academic and commercial applications. OpenCV can be programmed using C/C++, Python, and Java, and it has multi-platform support, such as Windows, Linux, macOS X, Android, and iOS. OpenCV has tons of computer vision APIs that can be used for implementing computer vision applications. The web page of OpenCV library can be found at http://opencv.org/.
The OpenCV library is interfaced to ROS via a 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 type,Âcv::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...