Print timestamp in video stream.

This commit is contained in:
James Pace 2026-08-26 09:27:27 -04:00
parent 0581d923d7
commit 7e18d9f29b
1 changed files with 12 additions and 4 deletions

View File

@ -22,7 +22,7 @@ namespace j7s {
std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::CompressedImage>> m_compressedPublisher; std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::CompressedImage>> m_compressedPublisher;
rclcpp::TimerBase::SharedPtr m_timer; rclcpp::TimerBase::SharedPtr m_timer;
std::tuple<sensor_msgs::msg::Image::SharedPtr, sensor_msgs::msg::CompressedImage::SharedPtr> draw_image(); std::tuple<sensor_msgs::msg::Image::SharedPtr, sensor_msgs::msg::CompressedImage::SharedPtr> draw_image(double time);
}; };
}; };
@ -34,19 +34,27 @@ namespace j7s {
m_timer{} m_timer{}
{ {
m_timer = this->create_timer(33ms, [this]() -> void { m_timer = this->create_timer(33ms, [this]() -> void {
const auto [image, compressedImage] = draw_image(); const auto [image, compressedImage] = draw_image(this->now().seconds());
m_publisher->publish(*image); m_publisher->publish(*image);
m_compressedPublisher->publish(*compressedImage); m_compressedPublisher->publish(*compressedImage);
}); });
} }
std::tuple<sensor_msgs::msg::Image::SharedPtr, sensor_msgs::msg::CompressedImage::SharedPtr> ImagePublisher::draw_image() std::tuple<sensor_msgs::msg::Image::SharedPtr, sensor_msgs::msg::CompressedImage::SharedPtr> ImagePublisher::draw_image(double time)
{ {
cv::Mat mat = cv::Mat::zeros(200, 200, CV_8UC3); cv::Mat mat = cv::Mat::zeros(200, 200, CV_8UC3);
cv::putText(mat,
std::to_string(time),
cv::Point(10, 20),
cv::FONT_HERSHEY_SIMPLEX,
0.5,
cv::Scalar(255, 255, 255),
1);
std_msgs::msg::Header header; std_msgs::msg::Header header;
cv_bridge::CvImage image(header, "rgb8", mat);
header.stamp = this->now(); header.stamp = this->now();
cv_bridge::CvImage image(header, "mono8", mat);
return std::tuple(image.toImageMsg(), image.toCompressedImageMsg()); return std::tuple(image.toImageMsg(), image.toCompressedImageMsg());
} }
}; };