eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::EHarrisCornerDetector Class Reference

Manages a complete context for the Harris corner detector. More...

#include <eVision/EasyImage/EHarrisCornerDetector.h>

Collaboration diagram for eVision::EHarrisCornerDetector:

Public Member Functions

 EHarrisCornerDetector ()
 Constructs a EHarrisCornerDetector object initialized to its default values.
virtual ~EHarrisCornerDetector () throw ()
void SetIntegrationScale (float integrationScale)
 The integration scale.
float GetIntegrationScale () const
 The integration scale.
void SetThreshold (float threshold)
 Threshold on the cornerness measure for a pixel to be considered as a corner.
float GetThreshold () const
 Threshold on the cornerness measure for a pixel to be considered as a corner.
void SetSubpixelPrecisionEnabled (bool subpixelEnabled)
 Sets whether the sub-pixel interpolation is enabled.
bool GetSubpixelPrecisionEnabled () const
 Returns whether the sub-pixel interpolation is enabled.
void SetDerivationScale (float derivationScale)
 Sets the derivation scale.
float GetDerivationScale () const
 Returns the current derivation scale.
void SetThresholdingMode (eVision::EHarrisThresholdingMode mode)
 Thresholding mode for the cornerness measure.
eVision::EHarrisThresholdingMode GetThresholdingMode () const
 Thresholding mode for the cornerness measure.
void SetGradientNormalizationEnabled (bool isEnabled)
 Sets whether the gradient is normalized before the computation of the cornerness measure.
bool GetGradientNormalizationEnabled () const
 Sets whether the gradient is normalized before the computation of the cornerness measure.
void Apply (const eVision::EROIBW8 &source, eVision::EHarrisInterestPoints &interestPoints)
 Apply the Harris corner detector on an image/ROI.
 EHarrisCornerDetector (CppWrapperInternal::InternalConstructor)

Public Attributes

CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

Manages a complete context for the Harris corner detector.

This implementation of the Harris corner detector operates exclusively on a grayscale BW8 images.

License(s): EasyImage

Constructor & Destructor Documentation

◆ EHarrisCornerDetector() [1/2]

eVision::EHarrisCornerDetector::EHarrisCornerDetector ( )

Constructs a EHarrisCornerDetector object initialized to its default values.

◆ ~EHarrisCornerDetector()

eVision::EHarrisCornerDetector::~EHarrisCornerDetector ( )
throw ( )
virtual

◆ EHarrisCornerDetector() [2/2]

eVision::EHarrisCornerDetector::EHarrisCornerDetector ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ Apply()

void eVision::EHarrisCornerDetector::Apply ( const eVision::EROIBW8 & source,
eVision::EHarrisInterestPoints & interestPoints )

Apply the Harris corner detector on an image/ROI.

Parameters
sourceThe source image/ROI.
interestPointsThe container in which to store the interest points.

◆ GetDerivationScale()

float eVision::EHarrisCornerDetector::GetDerivationScale ( ) const

Returns the current derivation scale.

◆ GetGradientNormalizationEnabled()

bool eVision::EHarrisCornerDetector::GetGradientNormalizationEnabled ( ) const

Sets whether the gradient is normalized before the computation of the cornerness measure.

If this flag is enabled, the values of the X-gradient and of the Y-gradient are first divided by their maximum absolute value (in the internal computations). This results in a cornerness measure that is roughly distributed around the value 1. If this flag is disabled, the cornerness measure will be much greater.

◆ GetIntegrationScale()

float eVision::EHarrisCornerDetector::GetIntegrationScale ( ) const

The integration scale.

The integration scale is the standard deviation of the Gaussian filter that is used for scale analysis.

◆ GetSubpixelPrecisionEnabled()

bool eVision::EHarrisCornerDetector::GetSubpixelPrecisionEnabled ( ) const

Returns whether the sub-pixel interpolation is enabled.

◆ GetThreshold()

float eVision::EHarrisCornerDetector::GetThreshold ( ) const

Threshold on the cornerness measure for a pixel to be considered as a corner.

If the threshold mode is set to EHarrisThresholdingMode::EHarrisThresholdingMode_Absolute, the threshold value is interpreted as an absolute threshold on the cornerness. In this case, the threshold must be a strictly positive real value.

If the threshold mode is set to EHarrisThresholdingMode::EHarrisThresholdingMode_Relative, the threshold is expressed as a fraction ranging from 0 to 1 of the maximum value of the cornerness of the source image.

◆ GetThresholdingMode()

eVision::EHarrisThresholdingMode eVision::EHarrisCornerDetector::GetThresholdingMode ( ) const

Thresholding mode for the cornerness measure.

◆ SetDerivationScale()

void eVision::EHarrisCornerDetector::SetDerivationScale ( float derivationScale)

Sets the derivation scale.

Parameters
derivationScaleThe scale of interest.

The derivation scale is the standard deviation of the Gaussian Filter used for the noise reduction during the computation of the gradient.

Whenever the integration scale is set through EHarrisCornerDetector::SetIntegrationScale, the derivation scale is reset to its default value, 0.7 * integrationScale. This is a recommended value, as suggested by the literature.

◆ SetGradientNormalizationEnabled()

void eVision::EHarrisCornerDetector::SetGradientNormalizationEnabled ( bool isEnabled)

Sets whether the gradient is normalized before the computation of the cornerness measure.

Parameters
isEnabledWhether to enable the gradient normalization or not.

If this flag is enabled, the values of the X-gradient and of the Y-gradient are first divided by their maximum absolute value (in the internal computations). This results in a cornerness measure that is roughly distributed around the value 1. If this flag is disabled, the cornerness measure will be much greater.

◆ SetIntegrationScale()

void eVision::EHarrisCornerDetector::SetIntegrationScale ( float integrationScale)

The integration scale.

Parameters
integrationScaleThe scale of interest.

The integration scale is the standard deviation of the Gaussian filter that is used for scale analysis.

◆ SetSubpixelPrecisionEnabled()

void eVision::EHarrisCornerDetector::SetSubpixelPrecisionEnabled ( bool subpixelEnabled)

Sets whether the sub-pixel interpolation is enabled.

Parameters
subpixelEnabledWhether to enable sub-pixel precision or not.

When this flag is enabled, a sub-pixel interpolation is carried on so as to improve the accuracy of the location of the corners, to the expense of a loss of speed.

◆ SetThreshold()

void eVision::EHarrisCornerDetector::SetThreshold ( float threshold)

Threshold on the cornerness measure for a pixel to be considered as a corner.

Parameters
thresholdThe value of the threshold.

If the threshold mode is set to EHarrisThresholdingMode::EHarrisThresholdingMode_Absolute, the threshold value is interpreted as an absolute threshold on the cornerness. In this case, the threshold must be a strictly positive real value.

If the threshold mode is set to EHarrisThresholdingMode::EHarrisThresholdingMode_Relative, the threshold is expressed as a fraction ranging from 0 to 1 of the maximum value of the cornerness of the source image.

◆ SetThresholdingMode()

void eVision::EHarrisCornerDetector::SetThresholdingMode ( eVision::EHarrisThresholdingMode mode)

Thresholding mode for the cornerness measure.

Parameters
modeThe thresholding mode.

Member Data Documentation

◆ wrappedClass_

CppWrapperInternal::WrappedClass eVision::EHarrisCornerDetector::wrappedClass_