8#ifndef ROBOTSIO_SEGMENTATIONCAMERA_H
9#define ROBOTSIO_SEGMENTATIONCAMERA_H
11#include <RobotsIO/Camera/Camera.h>
12#include <RobotsIO/Camera/CameraParameters.h>
13#include <RobotsIO/Utils/Transform.h>
15#include <SuperimposeMesh/SICAD.h>
22 class SegmentationCamera;
40 std::pair<bool, cv::Mat>
mask(
const Eigen::MatrixXf& scene_depth,
const Eigen::Transform<double, 3, Eigen::Affine> object_transform);
45 std::pair<bool, cv::Mat>
mask(std::shared_ptr<RobotsIO::Camera::Camera> camera, std::shared_ptr<RobotsIO::Utils::Transform> object_transform);
51 std::pair<bool, cv::Mat> render_mask(
const Eigen::MatrixXf& scene_depth,
const Eigen::Transform<double, 3, Eigen::Affine> object_transform);
56 std::unique_ptr<SICAD> renderer_;
66 const double threshold_;
71 const std::string log_name_ =
"SegmentationCamera";
std::pair< bool, cv::Mat > mask(std::shared_ptr< RobotsIO::Camera::Camera > camera, std::shared_ptr< RobotsIO::Utils::Transform > object_transform)
std::pair< bool, cv::Mat > mask(const Eigen::MatrixXf &scene_depth, const Eigen::Transform< double, 3, Eigen::Affine > object_transform)