26 #ifndef _FIREVISION_MODELS_SHAPE_RCD_CIRCLE_H_ 27 #define _FIREVISION_MODELS_SHAPE_RCD_CIRCLE_H_ 29 #include <fvmodels/shape/circle.h> 30 #include <fvutils/base/types.h> 31 #include <utils/math/types.h> 36 namespace firevision {
43 std::vector<Circle> m_Circles;
47 unsigned int min_pixels = 20,
48 unsigned int min_interpix_dist = 10,
49 unsigned int max_dist_p4 = 2,
50 unsigned int max_dist_a = 10,
52 float hollow_rate = 0.f,
53 float max_time = 0.01);
59 return std::string(
"RcdCircleModel");
79 unsigned int RCD_MAX_FAILURES;
80 unsigned int RCD_MIN_PIXELS;
81 unsigned int RCD_MIN_INTERPIX_DIST;
82 unsigned int RCD_MAX_DIST_P4;
83 unsigned int RCD_MAX_DIST_A;
86 float RCD_ROI_HOLLOW_RATE;
virtual ~RcdCircleModel(void)
Destrcutor.
Circle * getMostLikelyShape(void) const
Get best candidate.
int getShapeCount(void) const
Get number of shapes.
std::string getName(void) const
Get name of shape model.
RCD circle model from the following literature An Efficient Randomized Algorithm for Detecting Circle...
int parseImage(unsigned char *buffer, ROI *roi)
Parse image for given ROI.
RcdCircleModel(unsigned int max_failures=300, unsigned int min_pixels=20, unsigned int min_interpix_dist=10, unsigned int max_dist_p4=2, unsigned int max_dist_a=10, float hw_ratio=0.6, float hollow_rate=0.f, float max_time=0.01)
Create a new circle model which uses RCD to detect circles.
Circle * getShape(int id) const
Get specific shape.
Point with cartesian coordinates as unsigned integers.