8#ifndef ROBOTSIO_TRANSFORMYARPPORT_H
9#define ROBOTSIO_TRANSFORMYARPPORT_H
11#include <RobotsIO/Utils/Transform.h>
12#include <RobotsIO/Utils/YarpBufferedPort.hpp>
13#include <RobotsIO/Utils/YarpImageOfMonoFloat.h>
15#include <yarp/sig/Image.h>
16#include <yarp/sig/Vector.h>
22 class TransformYarpPort;
30 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
39 TransformYarpPort(
const std::string& port_prefix,
const bool& provide_rgb,
const bool& provide_depth_segmentation);
43 Eigen::Transform<double, 3, Eigen::Affine> transform()
override;
47 bool freeze(
const bool blocking =
false)
override;
58 Eigen::Transform<double, 3, Eigen::Affine> transform_;
60 Eigen::MatrixXd bbox_points_;
66 const bool provide_rgb_;
68 const bool provide_depth_segmentation_;
71 yarp::sig::ImageOf<yarp::sig::PixelRgb> yarp_rgb_out_;
73 cv::Mat cv_depth_out_;
74 cv::Mat cv_segmentation_out_;
75 RobotsIO::Utils::YarpImageOfMonoFloat yarp_depth_segmentation_out_;
77 bool transform_received_ =
false;
79 const std::string log_name_ =
"RobotsIO::Utils::TransformYarpPort";