latest version v1.9 - last update 10 Apr 2010 |
This class implements simple standard edgedectors like Sobel. More...
#include <ltiClassicEdgeDetector.h>
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 |
classicEdgeDetector & | copy (const classicEdgeDetector &other) |
classicEdgeDetector & | operator= (const classicEdgeDetector &other) |
virtual functor * | clone () const |
const parameters & | getParameters () 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 |
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);
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.
other | the object to be copied |
virtual lti::classicEdgeDetector::~classicEdgeDetector | ( | ) | [virtual] |
Destructor.
virtual bool lti::classicEdgeDetector::apply | ( | channel8 & | srcdest | ) | const [virtual] |
operates on the given parameters
srcdest | channel with the source data. The result will be left here too. |
Reimplemented from lti::edgeDetector.
virtual bool lti::classicEdgeDetector::apply | ( | const channel & | src, | |
channel8 & | edges | |||
) | const [virtual] |
operates on the given parameters
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.
other | the functor to be copied |
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.
other | the functor to be copied |
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:
theParam | the parameters which should be set |
gradientFunctor lti::classicEdgeDetector::gradienter [protected] |
functor which is used to compute the gradient