Since RVIZ2 does not currently allow rendering compressed images, this PR adds a convenience node to do so.
Testing
[x] Connect to the Stretch GUI (e.g., via HDMI cable, Moonlight, etc.)
[x] Launch the web app: colcon_cd stretch_web_teleop; ./launch_interface.sh
[x] Run this node: ros2 run stretch_web_teleop compressed_image_visualizer.py --ros-args --remap /camera/color/image_raw/compressed:=/gripper_camera/image_raw/cropped/compressed
[x] Verify that it renders properly and is real-time.
[x] Terminate the node (Ctrl-C), verify it cleanly terminates.
I think Python's garbage collector should handle it (I haven't experienced any issues as a result of not calling cv2.destroyAllWindows()), but I added it for good measure and re-ran the tests.
Description
Since RVIZ2 does not currently allow rendering compressed images, this PR adds a convenience node to do so.
Testing
colcon_cd stretch_web_teleop; ./launch_interface.sh
ros2 run stretch_web_teleop compressed_image_visualizer.py --ros-args --remap /camera/color/image_raw/compressed:=/gripper_camera/image_raw/cropped/compressed
Ctrl-C
), verify it cleanly terminates.