Fawkes API  Fawkes Development Version
firevision::RhtLinesModel Class Reference

Randomized Hough-Transform line model. More...

#include <>>

Inheritance diagram for firevision::RhtLinesModel:

Public Member Functions

 RhtLinesModel (float max_time=0.005, int max_iter=1000, 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 RhtLinesModel instance. More...
 
virtual ~RhtLinesModel (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...
 
LineShapegetShape (int id) const
 Get specific shape. More...
 
LineShapegetMostLikelyShape (void) const
 Get best candidate. More...
 
std::vector< LineShape > * getShapes ()
 Get shapes. More...
 
- Public Member Functions inherited from firevision::ShapeModel
virtual ~ShapeModel ()
 Virtual empty destructor. More...
 

Detailed Description

Randomized Hough-Transform line model.

Definition at line 43 of file rht_lines.h.

Constructor & Destructor Documentation

◆ RhtLinesModel()

firevision::RhtLinesModel::RhtLinesModel ( float  max_time = 0.005,
int  max_iter = 1000,
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 RhtLinesModel instance.

Constructor.

Parameters
max_timethe maximum runtime of a single parseImage call in seconds, if you set max_iter to a small number this time may not be used completely
max_iterthe maximum number of iterations one parseImage will do, if you set max_time to a short time this number may not be reached
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 45 of file rht_lines.cpp.

◆ ~RhtLinesModel()

firevision::RhtLinesModel::~RhtLinesModel ( void  )
virtual

Destructor.

Definition at line 64 of file rht_lines.cpp.

Member Function Documentation

◆ getMostLikelyShape()

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

Get best candidate.

Returns
best candidate shape, do not free.

Implements firevision::ShapeModel.

Definition at line 188 of file rht_lines.cpp.

Referenced by getName().

◆ getName()

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

Get name of shape model.

Returns
name of shape model.

Implements firevision::ShapeModel.

Definition at line 74 of file rht_lines.h.

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

◆ getShape()

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

Get specific shape.

Parameters
idshape ID
Returns
shape, do NOT free!

Implements firevision::ShapeModel.

Definition at line 177 of file rht_lines.cpp.

Referenced by getName().

◆ getShapeCount()

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

Get number of shapes.

Returns
number of shapes.

Implements firevision::ShapeModel.

Definition at line 171 of file rht_lines.cpp.

Referenced by getName().

◆ getShapes()

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

Get shapes.

Returns
vector of shapes

Definition at line 210 of file rht_lines.cpp.

References firevision::LineShape::calcPoints().

Referenced by getName().

◆ parseImage()

int firevision::RhtLinesModel::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 73 of file rht_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().


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