Fawkes API
Fawkes Development Version
|
Hough-Transform line matcher. More...
#include <>>
Public Member Functions | |
HtLinesModel (unsigned int nr_candidates=40, float angle_from=0, float angle_range=2 *M_PI, int r_scale=1, float min_votes_ratio=0.2f, int min_votes=-1) | |
Creates a new HtLinesModel instance. More... | |
virtual | ~HtLinesModel (void) |
Destructor. 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... | |
LineShape * | getShape (int id) const |
Get specific shape. More... | |
LineShape * | getMostLikelyShape (void) const |
Get best candidate. More... | |
std::vector< LineShape > * | getShapes () |
Get all lines found. More... | |
![]() | |
virtual | ~ShapeModel () |
Virtual empty destructor. More... | |
Hough-Transform line matcher.
Definition at line 43 of file ht_lines.h.
firevision::HtLinesModel::HtLinesModel | ( | unsigned int | nr_candidates = 40 , |
float | angle_from = 0 , |
||
float | angle_range = 2 * M_PI , |
||
int | r_scale = 1 , |
||
float | min_votes_ratio = 0.2f , |
||
int | min_votes = -1 |
||
) |
Creates a new HtLinesModel instance.
Constructor.
nr_candidates | the nr of candidates that is considered per pixel (the hole angle range is devided in this many parts/lines |
angle_from | The angle to start the candidates from, given in rad, 0 is straight up |
angle_range | the angle range the candidates are taken from starting at angle_from, given in rad, can be used for example to only search for horizontal lines |
r_scale | This can be done to reduce the size of the hough space and to map more lines to one line |
min_votes_ratio | The minimum ratio num_votes_per_line/total_num_votes that we have to have before a point in the hough space is considered to be a line, this may actually be higher if you use min_votes and set it to a higher number (set min_votes to 0 to only use min_votes_ration) |
min_votes | the minimum number of votes a point in the hough space has to have before it is considered to be a line. The number may actually be higher if min_votes_ratio is set too high (set min_votes_ration to 0 to use only min_votes) |
nr_candidates | number of candidates |
angle_from | slope of lines from |
angle_range | angle range |
r_scale | r scale |
min_votes_ratio | min votes ratio |
min_votes | minimum number of votes for a candidate to consider |
Definition at line 53 of file ht_lines.cpp.
|
virtual |
Destructor.
Definition at line 69 of file ht_lines.cpp.
|
virtual |
Get best candidate.
Implements firevision::ShapeModel.
Definition at line 167 of file ht_lines.cpp.
Referenced by getName().
|
inlinevirtual |
Get name of shape model.
Implements firevision::ShapeModel.
Definition at line 69 of file ht_lines.h.
References getMostLikelyShape(), getShape(), getShapeCount(), getShapes(), and parseImage().
|
virtual |
Get specific shape.
id | shape ID |
Implements firevision::ShapeModel.
Definition at line 156 of file ht_lines.cpp.
Referenced by getName().
|
virtual |
Get number of shapes.
Implements firevision::ShapeModel.
Definition at line 150 of file ht_lines.cpp.
Referenced by getName().
vector< LineShape > * firevision::HtLinesModel::getShapes | ( | ) |
Get all lines found.
Definition at line 189 of file ht_lines.cpp.
References firevision::LineShape::calcPoints().
Referenced by getName().
|
virtual |
Parse image for given ROI.
buffer | image buffer |
roi | ROI |
Implements firevision::ShapeModel.
Definition at line 75 of file ht_lines.cpp.
References firevision::ROI::get_roi_buffer_start(), firevision::ROI::height, firevision::ROI::line_step, fawkes::rad2deg(), firevision::ROI::width, fawkes::upoint_t::x, and fawkes::upoint_t::y.
Referenced by getName().