Fawkes API  Fawkes Development Version
firevision::RcdCircleModel Class Reference

RCD circle model from the following literature An Efficient Randomized Algorithm for Detecting Circles. More...

#include <>>

Inheritance diagram for firevision::RcdCircleModel:

Public Member Functions

 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. More...
 
virtual ~RcdCircleModel (void)
 Destrcutor. More...
 
std::string getName (void) const
 Get name of shape model. More...
 
int parseImage (unsigned char *buffer, ROI *roi)
 Parse image for given ROI. More...
 
int getShapeCount (void) const
 Get number of shapes. More...
 
CirclegetShape (int id) const
 Get specific shape. More...
 
CirclegetMostLikelyShape (void) const
 Get best candidate. More...
 
- Public Member Functions inherited from firevision::ShapeModel
virtual ~ShapeModel ()
 Virtual empty destructor. More...
 

Detailed Description

RCD circle model from the following literature An Efficient Randomized Algorithm for Detecting Circles.

Definition at line 43 of file rcd_circle.h.

Constructor & Destructor Documentation

◆ RcdCircleModel()

firevision::RcdCircleModel::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.

Parameters
max_failuresMax. number of failures
min_pixelsMin number of available edge pixels
min_interpix_distMin distance between chosen pixels
max_dist_p4Max. distance of fourth pixel to circle
max_dist_aMax. distance for all other pixels to circle
hw_ratioRatio height/width
hollow_ratesize of the hollow window in the ROI.
max_timeMaximum runtime per loop

Definition at line 65 of file rcd_circle.cpp.

◆ ~RcdCircleModel()

firevision::RcdCircleModel::~RcdCircleModel ( void  )
virtual

Destrcutor.

Definition at line 88 of file rcd_circle.cpp.

Member Function Documentation

◆ getMostLikelyShape()

Circle * firevision::RcdCircleModel::getMostLikelyShape ( void  ) const
virtual

Get best candidate.

Returns
best candidate shape, do not free.

Implements firevision::ShapeModel.

Definition at line 329 of file rcd_circle.cpp.

References fawkes::upoint_t::x, firevision::center_in_roi_t::x, fawkes::upoint_t::y, and firevision::center_in_roi_t::y.

Referenced by getName().

◆ getName()

std::string firevision::RcdCircleModel::getName ( void  ) const
inlinevirtual

Get name of shape model.

Returns
name of shape model.

Implements firevision::ShapeModel.

Definition at line 60 of file rcd_circle.h.

References getMostLikelyShape(), getShape(), getShapeCount(), and parseImage().

◆ getShape()

Circle * firevision::RcdCircleModel::getShape ( int  id) const
virtual

Get specific shape.

Parameters
idshape ID
Returns
shape, do NOT free!

Implements firevision::ShapeModel.

Definition at line 317 of file rcd_circle.cpp.

Referenced by getName().

◆ getShapeCount()

int firevision::RcdCircleModel::getShapeCount ( void  ) const
virtual

Get number of shapes.

Returns
number of shapes.

Implements firevision::ShapeModel.

Definition at line 312 of file rcd_circle.cpp.

Referenced by getName().

◆ parseImage()

int firevision::RcdCircleModel::parseImage ( unsigned char *  buffer,
ROI roi 
)
virtual

The documentation for this class was generated from the following files: