Fawkes API  Fawkes Development Version
firevision::HtLinesModel Class Reference

#include <>>

Inheritance diagram for firevision::HtLinesModel:

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)
 Constructor. More...
 
virtual ~HtLinesModel (void)
 Destructor. More...
 
std::string getName (void) const
 
int parseImage (unsigned char *buffer, ROI *roi)
 
int getShapeCount (void) const
 
LineShapegetShape (int id) const
 
LineShapegetMostLikelyShape (void) const
 
std::vector< LineShape > * getShapes ()
 Get all lines found. More...
 
- Public Member Functions inherited from firevision::ShapeModel
virtual ~ShapeModel ()
 Virtual empty destructor. More...
 

Detailed Description

Hough-Transform line matcher.

Definition at line 45 of file ht_lines.h.

Constructor & Destructor Documentation

◆ HtLinesModel()

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 
)

Constructor.

Creates a new HtLinesModel instance

Parameters
nr_candidatesthe nr of candidates that is considered per pixel (the hole angle range is devided in this many parts/lines
angle_fromThe angle to start the candidates from, given in rad, 0 is straight up
angle_rangethe 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_scaleThis can be done to reduce the size of the hough space and to map more lines to one line
min_votes_ratioThe 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_votesthe 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)

Definition at line 59 of file ht_lines.cpp.

◆ ~HtLinesModel()

firevision::HtLinesModel::~HtLinesModel ( void  )
virtual

Destructor.

Definition at line 79 of file ht_lines.cpp.

Member Function Documentation

◆ getMostLikelyShape()

LineShape * firevision::HtLinesModel::getMostLikelyShape ( void  ) const
virtual

Get best candidate.

Returns
best candidate shape, do not free.

Implements firevision::ShapeModel.

Definition at line 170 of file ht_lines.cpp.

◆ getName()

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

Get name of shape model.

Returns
name of shape model.

Implements firevision::ShapeModel.

Definition at line 61 of file ht_lines.h.

◆ getShape()

LineShape * firevision::HtLinesModel::getShape ( int  id) const
virtual

Get specific shape.

Parameters
idshape ID
Returns
shape, do NOT free!

Implements firevision::ShapeModel.

Definition at line 160 of file ht_lines.cpp.

◆ getShapeCount()

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

Get number of shapes.

Returns
number of shapes.

Implements firevision::ShapeModel.

Definition at line 154 of file ht_lines.cpp.

◆ getShapes()

vector< LineShape > * firevision::HtLinesModel::getShapes ( )

Get all lines found.

Returns
vector with all line shapes.

Definition at line 191 of file ht_lines.cpp.

References firevision::LineShape::calcPoints().

◆ parseImage()

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

Parse image for given ROI.

Parameters
bufferimage buffer
roiROI
Returns
number of shapes found

Implements firevision::ShapeModel.

Definition at line 85 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.


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