def from_raw(cls, raw, compress=False):
"""Deserializes binary-encoded image data into a ROS Image message.
Args:
raw: Binary encoded image data.
compress: Whether to return a compressed image or not.
Returns:
ROS Image or CompressedImage message.
Raises:
CvBridgeError: On image conversion error.
"""
# Convert to OpenCV image.
nparr = np.fromstring(raw, np.uint8)
img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
# Convert to ROS message.
bridge = CvBridge()
msg = bridge.cv2_to_imgmsg(img)
if compress:
data = cls.from_msg(msg)
msg = CompressedImage()
msg.format = "png"
msg.data = data
return msg
评论列表
文章目录