Print timestamp in video stream.
This commit is contained in:
parent
0581d923d7
commit
7e18d9f29b
|
|
@ -22,7 +22,7 @@ namespace j7s {
|
|||
std::shared_ptr<rclcpp::Publisher<sensor_msgs::msg::CompressedImage>> m_compressedPublisher;
|
||||
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 = 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_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::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;
|
||||
cv_bridge::CvImage image(header, "rgb8", mat);
|
||||
header.stamp = this->now();
|
||||
cv_bridge::CvImage image(header, "mono8", mat);
|
||||
return std::tuple(image.toImageMsg(), image.toCompressedImageMsg());
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue