Supporting image compression formats passthrough (#1461)

* Supporting ros depth compression formats passthrough

* Added image_compression_format (support jpg,png). Use Compression.h constants.

* Bridging gap with #1457

* CoreWrapper: decode_images_on_demand

* rgbd_sync->rgbd_split encoding/decoding test with image_transport validation. rgbd_split color passthrough

* more tests

* fixing ci on kilted+

* fixing test

* fixing lyrical tests

* fixing rolling ci

* Improved test coverage

* fixing some tf waitForTransform deadlocks when sim time is used in tests

* CI: build rtabmap_slam on rolling

rtabmap_slam builds without nav2_msgs, which is not on resolute yet: skip its
key instead of leaving the package out. Only rtabmap_costmap_plugins (and the
rtabmap_ros metapackage pulling it in) still need nav2.
This commit is contained in:
matlabbe
2026-10-10 16:05:08 -07:00
committed by GitHub
parent 82f0754bf7
commit cf7d7ab958
47 changed files with 3962 additions and 250 deletions
+13 -1
View File
@@ -12,6 +12,18 @@ sensor_msgs/Image rgb
sensor_msgs/Image depth
# Compressed
# rgb_compressed: JPEG or PNG in compressed_image_transport's format (e.g.,
# "bgr8; jpeg compressed bgr8"), readable by the "compressed" image_transport plugin.
# depth_compressed: right image (stereo) in compressed_image_transport's format, or depth
# image in compressed_depth_image_transport's format (e.g., "16UC1; compressedDepth png",
# "32FC1; compressedDepth rvl"), readable by the "compressedDepth" image_transport
# plugin (RVL since Jazzy).
# Exception: depth compressed in rtabmap's own format (rtabmap_ros < 0.24, or
# depth_compression_format "legacy[:<format>]", e.g., to keep 32FC1 depth lossless), with format
# "png", "rvl" or "png:<max>:<quantization>" / "rvl:<max>:<quantization>", which
# image_transport plugins cannot read. rtabmap_conversions::uncompressDepthImage()
# decodes every format, and rgbd_split republishes them on a compressedDepth
# image_transport topic.
sensor_msgs/CompressedImage rgb_compressed
sensor_msgs/CompressedImage depth_compressed
@@ -19,7 +31,7 @@ sensor_msgs/CompressedImage depth_compressed
KeyPoint[] key_points
Point3f[] points
# compressed descriptors
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
# use rtabmap::uncompressData() from "rtabmap/core/Compression.h"
uint8[] descriptors
GlobalDescriptor global_descriptor