HLR  0.0.1
ICupDetector.hpp
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 #include <libfreenect2/frame_listener_impl.h>
6 #include <opencv2/core.hpp>
7 
8 namespace HLR
9 {
10 namespace Vision
11 {
18 {
23  std::vector<cv::Point> cups;
24 
29  std::shared_ptr<cv::Mat> frame =
30  std::make_shared<cv::Mat>(424, 512, CV_32FC1, cv::Scalar(0));
31 };
32 
40 {
41 public:
46  ICupDetector() = default;
50  virtual ~ICupDetector() = default;
51 
57  ICupDetector(ICupDetector&& cup_detector) = default;
58 
64  ICupDetector(const ICupDetector& cup_detector) = default;
65 
72  ICupDetector& operator=(const ICupDetector& cup_detector) = default;
73 
80  ICupDetector& operator=(ICupDetector&& cup_detector) = default;
81 
90  virtual CupDetection detect_cups() = 0;
91 
103  virtual std::shared_ptr<cv::Mat> get_detected_cups_image() = 0;
104 
111  virtual std::shared_ptr<cv::Mat> get_latest_depth_frame() = 0;
112 
119  virtual std::shared_ptr<cv::Mat> get_latest_ir_frame() = 0;
120 
127  virtual std::shared_ptr<cv::Mat> get_latest_color_frame() = 0;
128 };
129 } // namespace Vision
130 } // namespace HLR
std::shared_ptr< cv::Mat > frame
Depth frame Depth frame in wich the cups were detected.
Definition: ICupDetector.hpp:29
Can detect cups using the Kinect color and depth camera. This class allows its user to detect cups in...
Definition: ICupDetector.hpp:39
Collection of detected cups Collection of detected cups where the location of the cups is described i...
Definition: ICupDetector.hpp:17
std::vector< cv::Point > cups
List of detected cups with their corresponding X and Y image.
Definition: ICupDetector.hpp:23