diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 6c17645..2613832 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -23,6 +23,8 @@ ENV DEBIAN_FRONTEND=noninteractive RUN sudo apt-get update --fix-missing \ && apt-get -y install bash-completion ros-$ROS_DISTRO-rmw-cyclonedds-cpp ros-$ROS_DISTRO-generate-parameter-library \ ros-$ROS_DISTRO-message-filters \ + ros-$ROS_DISTRO-image-transport \ + ros-$ROS_DISTRO-image-transport-py \ python3-pip pre-commit \ && pip3 install numpy==1.26.4 --break-system-packages \ && pip3 install --ignore-installed mediapipe --break-system-packages\ diff --git a/human_detector/human_detector/human_detector.py b/human_detector/human_detector/human_detector.py index 4b65517..49353f5 100644 --- a/human_detector/human_detector/human_detector.py +++ b/human_detector/human_detector/human_detector.py @@ -8,6 +8,7 @@ from rclpy.time import Time from rclpy.lifecycle import LifecycleNode from rclpy.lifecycle.node import LifecycleState, TransitionCallbackReturn +from image_transport_py import ImageTransport from sensor_msgs.msg import CameraInfo, Image from rclpy.qos_overriding_options import QoSOverridingOptions from rclpy.qos import qos_profile_sensor_data @@ -45,7 +46,8 @@ def on_configure(self, previous_state: LifecycleState): self.initialize_sync_subscribers() if self.parameters.publish_image_with_detected: - self.image_with_detected_human_pub = self.create_publisher(Image, "image_with_detected_human", 10) + self.image_transport = ImageTransport("compressed_image_with_detected_human_pub", "compressed") + self.image_with_detected_human_pub = self.image_transport.advertise("image_with_detected_human", 10) self.timer = self.create_timer(1 / self.parameters.detected_human_transform_frequency, self.timer_callback) self.timer.cancel() diff --git a/human_detector/package.xml b/human_detector/package.xml index b9e1d65..a980b40 100644 --- a/human_detector/package.xml +++ b/human_detector/package.xml @@ -18,6 +18,8 @@ cv_bridge python3-opencv message_filters + image_transport + image_transport_py ament_python