cv_bridge contains a single class CvBridge that converts ROS Image messages to OpenCV images.
The CvBridge is an object that converts between OpenCV Images and ROS Image messages.
>>> import cv2 >>> import numpy as np >>> from cv_bridge import CvBridge >>> br = CvBridge() >>> dtype, n_channels = br.encoding_as_cvtype2('8UC3') >>> im = np.ndarray(shape=(480, 640, n_channels), dtype=dtype) >>> msg = br.cv2_to_imgmsg(im) # Convert the image to a message >>> im2 = br.imgmsg_to_cv2(msg) # Convert the message to a new image >>> cmprsmsg = br.cv2_to_compressed_imgmsg(im) # Convert the image to a compress message >>> im22 = br.compressed_imgmsg_to_cv2(msg) # Convert the compress message to a new image >>> cv2.imwrite("this_was_a_message_briefly.png", im2)
Convert a sensor_msgs::CompressedImage message to an OpenCV cv::Mat.
Parameters: |
|
---|---|
Return type: | cv::Mat |
Raises CvBridgeError: | |
when conversion is not possible. |
If desired_encoding is "passthrough", then the returned image has the same format as img_msg. Otherwise desired_encoding must be one of the standard image encodings
This function returns an OpenCV cv::Mat message on success, or raises cv_bridge.CvBridgeError on failure.
If the image only has one channel, the shape has size 2 (width and height)
Convert an OpenCV cv::Mat type to a ROS sensor_msgs::CompressedImage message.
Parameters: |
|
---|---|
Return type: | A sensor_msgs.msg.CompressedImage message |
Raises CvBridgeError: | |
when the cvim has a type that is incompatible with format |
This function returns a sensor_msgs::Image message on success, or raises cv_bridge.CvBridgeError on failure.
Convert an OpenCV cv::Mat type to a ROS sensor_msgs::Image message.
Parameters: |
|
---|---|
Return type: | A sensor_msgs.msg.Image message |
Raises CvBridgeError: | |
when the cvim has a type that is incompatible with encoding |
If encoding is "passthrough", then the message has the same encoding as the image’s OpenCV type. Otherwise desired_encoding must be one of the standard image encodings
This function returns a sensor_msgs::Image message on success, or raises cv_bridge.CvBridgeError on failure.
Convert a sensor_msgs::Image message to an OpenCV cv::Mat.
Parameters: |
|
---|---|
Return type: | cv::Mat |
Raises CvBridgeError: | |
when conversion is not possible. |
If desired_encoding is "passthrough", then the returned image has the same format as img_msg. Otherwise desired_encoding must be one of the standard image encodings
This function returns an OpenCV cv::Mat message on success, or raises cv_bridge.CvBridgeError on failure.
If the image only has one channel, the shape has size 2 (width and height)
This is the error raised by cv_bridge.CvBridge methods when they fail.