LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::classicEdgeDetector Class Reference
[Edge and Corner Detectors]

This class implements simple standard edgedectors like Sobel. More...

#include <ltiClassicEdgeDetector.h>

Inheritance diagram for lti::classicEdgeDetector:
Inheritance graph
[legend]
Collaboration diagram for lti::classicEdgeDetector:
Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 The parameters for the class classicEdgeDetector. More...

Public Member Functions

 classicEdgeDetector ()
 classicEdgeDetector (const parameters &par)
 classicEdgeDetector (const classicEdgeDetector &other)
virtual ~classicEdgeDetector ()
virtual const char * getTypeName () const
classicEdgeDetectorcopy (const classicEdgeDetector &other)
classicEdgeDetectoroperator= (const classicEdgeDetector &other)
virtual functorclone () const
const parametersgetParameters () const
virtual bool apply (const channel &src, channel8 &edges) const
virtual bool apply (channel8 &srcdest) const
virtual bool updateParameters (const parameters &theParam)

Protected Attributes

gradientFunctor gradienter

Detailed Description

This class implements simple standard edgedectors like Sobel.

It uses a gradient functor to create a gradient magnitude. Furthermore it uses nonMaximaSuppression or thresholding to extract the edges.

 #include ltiClassicEdgeDetector.h

 channel src;
 channel8 edges;

 classicEdgeDetector::parameters cedPar;
 // using thresholding instead of standard nonMaximaSuppression
 thresholding::parameters tPar;
 tPar.highThreshold = 0.8;
 thresholding t(tPar);

 cedPar.setMaximaSearchMethod(t);
 cedPar.gradientParameters.kernelType = gradientFunctor::parameters::Prewitt;

 // This has NO effect, because setMaximaSearchMethod was used
 // so the thresholding functor was copied
 tPar.highTreshold = 0.5;
 t.setParameters(tPar);

 classicEdgeDetector ced(cedPar);

 ced.apply(src,edges);

Constructor & Destructor Documentation

lti::classicEdgeDetector::classicEdgeDetector (  ) 

default constructor

lti::classicEdgeDetector::classicEdgeDetector ( const parameters par  ) 

Construct a functor using the given parameters.

lti::classicEdgeDetector::classicEdgeDetector ( const classicEdgeDetector other  ) 

Copy constructor.

Parameters:
other the object to be copied
virtual lti::classicEdgeDetector::~classicEdgeDetector (  )  [virtual]

Destructor.


Member Function Documentation

virtual bool lti::classicEdgeDetector::apply ( channel8 srcdest  )  const [virtual]

operates on the given parameters

Parameters:
srcdest channel with the source data. The result will be left here too.
Returns:
true if apply successful or false otherwise.

Reimplemented from lti::edgeDetector.

virtual bool lti::classicEdgeDetector::apply ( const channel src,
channel8 edges 
) const [virtual]

operates on the given parameters

Parameters:
src channel with the Source data.
edges channel where the result will be left.
Returns:
true if apply successful or false otherwise.

Reimplemented from lti::edgeDetector.

virtual functor* lti::classicEdgeDetector::clone (  )  const [virtual]

Returns a pointer to a clone of this functor.

Implements lti::edgeDetector.

classicEdgeDetector& lti::classicEdgeDetector::copy ( const classicEdgeDetector other  ) 

Copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::edgeDetector.

const parameters& lti::classicEdgeDetector::getParameters (  )  const

returns used parameters

Reimplemented from lti::edgeDetector.

virtual const char* lti::classicEdgeDetector::getTypeName (  )  const [virtual]

returns the name of this type ("classicEdgeDetector")

Reimplemented from lti::edgeDetector.

classicEdgeDetector& lti::classicEdgeDetector::operator= ( const classicEdgeDetector other  ) 

Alias for copy member.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::edgeDetector.

virtual bool lti::classicEdgeDetector::updateParameters ( const parameters theParam  )  [virtual]

update functor's parameters.

This member initializes some internal data depending on the parameter set.

if using Thresholding as maxima search method:

if using nonMaximaSuppression as maxima search method:

Parameters:
theParam the parameters which should be set
Returns:
true if successful, false otherwise

Member Data Documentation

functor which is used to compute the gradient


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

Generated on Sat Apr 10 15:27:07 2010 for LTI-Lib by Doxygen 1.6.1