cv_bridge是在ROS图像消息和OpenCV图像之间进行转换的一个功能包。
1.Concepts
ROS以自己的sensor_msgs / Image消息格式传递图像,但许多用户希望将图像与OpenCV结合使用。 CvBridge是一个ROS库,提供ROS和OpenCV之间的接口。 可以在vision_opencv stack的cv_bridge包中找到CvBridge。
2.把ROS图像转换成OpenCV图像
CvBridge定义了一个包含OpenCV图像及其编码、ROS头文件(header)的Cvimage类型。CvImage包含sensor_msgs / Image的信息, CvImage 的class 如下:
namespace cv_bridge {
class CvImage
{
public:
std_msgs::Header header;
std::string encoding;
cv::Mat image;
};
typedef boost::shared_ptr<CvImage> CvImagePtr;
typedef boost::shared_ptr<CvImage const> C