Understanding ROS – OpenCV interfacing packages
OpenCV is one of the most popular open source, real-time computer vision libraries, and it is mainly written in C/C++. OpenCV comes with a BSD license and is free for both academic and commercial applications. OpenCV can be programmed using C/C++, Python, and Java, and it has multi-platform support, such as Windows, Linux, Mac OS X, Android, and iOS. OpenCV has tons of computer vision APIs that can be used for implementing computer vision applications. The web page of the OpenCV library can be found at https://opencv.org/.
The OpenCV library is interfaced with ROS via a ROS stack called vision_opencv
. vision_opencv
consists of two important packages for interfacing OpenCV with ROS, as follows:
cv_bridge
: Thecv_bridge
package contains a library that provides APIs for converting the OpenCV image data type,cv::Mat
, into a ROS image message calledsensor_msgs/Image
and vice versa. In short, it can act as...