Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
jafar::dseg::HierarchicalDirectSegmentsDetector Class Reference

This is the main class for detection segments in an image. More...


Detailed Description

This is the main class for detection segments in an image.

It uses a Hierarchical approach.

Definition at line 16 of file HierarchicalDirectSegmentsDetector.hpp.

#include <HierarchicalDirectSegmentsDetector.hpp>

Inheritance diagram for jafar::dseg::HierarchicalDirectSegmentsDetector:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 HierarchicalDirectSegmentsDetector (kernel::IdFactory<> *_idMaker=0)
void detectSegment (const jafar::image::Image &_image, const image::ConvexRoi *roiPtr, SegmentsSet &segmentStorage, SegmentDebug *_sdebug=0)
 Start detection of segments in an image.
void detectSegment (PyramidSP *pyramid, const jafar::image::Image &_image, const image::ConvexRoi *roiPtr, SegmentsSet &segmentStorage, SegmentDebug *_sdebug=0)
PyramidSPcomputePyramid (const jafar::image::Image &_image)

Protected Member Functions

virtual void detectedSegment (SegmentHypothesis *, DirectSegmentsDetectorBase::LoopDetectionContext *_context, GrowSegmentContext &)
 Define the number of levels of the pyramid (minimum is 1, default is 3).
virtual bool isInASegment (DirectSegmentsDetectorBase::LoopDetectionContext *_context, int _x, int _y)

Private Member Functions

void detectSegmentAtScale (SegmentHypothesis *segHyp, DirectSegmentsDetectorBase::LoopDetectionContext *_context, int level)
 Detect segment at a given scale using an hypothesis coming from a different level.
SegmentHypothesisfindSegHyp (const jblas::vec2 &_center, double angle, std::vector< GrowSegmentContext > &hyps, int _level, DirectSegmentsDetectorBase::LoopDetectionContext *_context, double *grads, double scaledMinLength2)
 Find a segment hypothesis around _center .
void updateIntervals (SegmentHypothesis *_segHyp, const Interval &_currentInterval, std::list< Interval > &_intervals, int _level, const jblas::vec2 &_center, const jblas::vec2 &_dir, double _scaledMinLength)

Private Attributes

PyramidSPm_pyramidSP
int m_topToBottomScale

Member Function Documentation

void jafar::dseg::HierarchicalDirectSegmentsDetector::detectSegment ( const jafar::image::Image _image,
const image::ConvexRoi roiPtr,
SegmentsSet segmentStorage,
SegmentDebug _sdebug = 0 
)

Start detection of segments in an image.

Parameters:
_imageimage on which to makes the detection
segmentStoragestorage that will be filled with newly extracted segment, if there are segments in the storage before calling this function, then the dector will avoid segment detection on the already existing segments (the detection can be called after tracking, and tracked segments won't be detected again).
SegmentDebugcollect some debug information
void jafar::dseg::HierarchicalDirectSegmentsDetector::detectSegmentAtScale ( SegmentHypothesis segHyp,
DirectSegmentsDetectorBase::LoopDetectionContext *  _context,
int  level 
) [private]

Detect segment at a given scale using an hypothesis coming from a different level.

Parameters:
segHypis the hypothesis at level level - 1
levelis the pyramid level

This function will repeatively called itself until level == 0


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:34 for Jafar by doxygen 1.7.6.1
LAAS-CNRS