RCD circle model from the following literature An Efficient Randomized Algorithm for Detecting Circles. More...
#include <models/shape/rcd_circle.h>
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. | |
virtual | ~RcdCircleModel (void) |
Destrcutor. | |
std::string | getName (void) const |
Get name of shape model. | |
int | parseImage (unsigned char *buffer, ROI *roi) |
Parse image for given ROI. | |
int | getShapeCount (void) const |
Get number of shapes. | |
Circle * | getShape (int id) const |
Get specific shape. | |
Circle * | getMostLikelyShape (void) const |
Get best candidate. |
RCD circle model from the following literature An Efficient Randomized Algorithm for Detecting Circles.
Definition at line 43 of file rcd_circle.h.
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.
max_failures | Max. number of failures | |
min_pixels | Min number of available edge pixels | |
min_interpix_dist | Min distance between chosen pixels | |
max_dist_p4 | Max. distance of fourth pixel to circle | |
max_dist_a | Max. distance for all other pixels to circle | |
hw_ratio | Ratio height/width | |
hollow_rate | size of the hollow window in the ROI. | |
max_time | Maximum runtime per loop |
Definition at line 65 of file rcd_circle.cpp.
firevision::RcdCircleModel::~RcdCircleModel | ( | void | ) | [virtual] |
Destrcutor.
Definition at line 88 of file rcd_circle.cpp.
Circle * firevision::RcdCircleModel::getMostLikelyShape | ( | void | ) | const [virtual] |
Get best candidate.
Implements firevision::ShapeModel.
Definition at line 329 of file rcd_circle.cpp.
std::string firevision::RcdCircleModel::getName | ( | void | ) | const [inline, virtual] |
Get name of shape model.
Implements firevision::ShapeModel.
Definition at line 60 of file rcd_circle.h.
Circle * firevision::RcdCircleModel::getShape | ( | int | id | ) | const [virtual] |
Get specific shape.
id | shape ID |
Implements firevision::ShapeModel.
Definition at line 317 of file rcd_circle.cpp.
int firevision::RcdCircleModel::getShapeCount | ( | void | ) | const [virtual] |
Get number of shapes.
Implements firevision::ShapeModel.
Definition at line 312 of file rcd_circle.cpp.
int firevision::RcdCircleModel::parseImage | ( | unsigned char * | buffer, | |
ROI * | roi | |||
) | [virtual] |
Parse image for given ROI.
buffer | image buffer | |
roi | ROI |
Implements firevision::ShapeModel.
Definition at line 93 of file rcd_circle.cpp.
References firevision::Circle::count, firevision::Circle::fitCircle(), firevision::ROI::get_roi_buffer_start(), firevision::ROI::height, firevision::ROI::line_step, firevision::ROI::width, firevision::center_in_roi_t::x, and firevision::center_in_roi_t::y.