RobotsIO
Loading...
Searching...
No Matches
Segmentation.h
1/*
2 * Copyright (C) 2021 Istituto Italiano di Tecnologia (IIT)
3 *
4 * This software may be modified and distributed under the terms of the
5 * BSD 3-Clause license. See the accompanying LICENSE file for details.
6 */
7
8#ifndef ROBOTSIO_SEGMENTATION_H
9#define ROBOTSIO_SEGMENTATION_H
10
11#include <opencv2/opencv.hpp>
12
13#include <string>
14
15namespace RobotsIO {
16 namespace Utils {
17 class Segmentation;
18 }
19}
20
21
23{
24public:
25
26 virtual ~Segmentation();
27
28 virtual bool reset();
29
30 virtual bool step_frame();
31
32 virtual bool is_stepping_required() const = 0;
33
34 virtual void reset_data_loading_time();
35
36 virtual double get_data_loading_time() const;
37
45 virtual int get_frames_between_iterations() const;
46
50 virtual std::pair<bool, cv::Mat> segmentation(const bool& blocking) = 0;
51
57 virtual std::pair<bool, cv::Mat> latest_segmentation();
58
64 virtual double get_time_stamp();
65
70 virtual void set_rgb_image(const cv::Mat& image, const double& timestamp);
71
72private:
73
74 const std::string log_name_ = "Segmentation";
75};
76
77#endif /* ROBOTSIO_SEGMENTATION_H */
virtual std::pair< bool, cv::Mat > latest_segmentation()
virtual int get_frames_between_iterations() const
virtual std::pair< bool, cv::Mat > segmentation(const bool &blocking)=0
virtual double get_time_stamp()
virtual void set_rgb_image(const cv::Mat &image, const double &timestamp)