26 #ifndef __FIREVISION_MODELS_SHAPE_RCD_CIRCLE_H_ 27 #define __FIREVISION_MODELS_SHAPE_RCD_CIRCLE_H_ 32 #include <utils/math/types.h> 33 #include <fvutils/base/types.h> 34 #include <fvmodels/shape/circle.h> 46 std::vector<Circle> m_Circles;
50 unsigned int min_pixels = 20,
51 unsigned int min_interpix_dist = 10,
52 unsigned int max_dist_p4 = 2,
53 unsigned int max_dist_a = 10,
55 float hollow_rate = 0.f,
60 std::string
getName(
void)
const {
return std::string(
"RcdCircleModel");}
81 unsigned int RCD_MAX_FAILURES;
82 unsigned int RCD_MIN_PIXELS;
83 unsigned int RCD_MIN_INTERPIX_DIST;
84 unsigned int RCD_MAX_DIST_P4;
85 unsigned int RCD_MAX_DIST_A;
88 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.