![]() |
aimsalgo
5.0.5
Neuroimaging image processing
|
Harris Corner Detector. More...
#include <aims/math/harris.h>
Public Member Functions | |
BaseHarrisDetector (const AimsData< T > &image, const double sigma=1.2, const double k=0.6, const double epsilon=1E-3, const T levels=(T) 255) | |
Constructor. More... | |
virtual double | gaussian (const double x, const double y, const double z) |
Gaussian function. More... | |
virtual void | computeDerivatives () |
virtual double | harrisMeasure (const int x, const int y, const int z, const int t)=0 |
Compute harris measure for a pixel. More... | |
virtual void | computeHarrisMap () |
Compute the Harris measure for each pixel of the image. More... | |
virtual bool | isSpatialMaxima (const int x, const int y, const int z, const int t)=0 |
Check that pixel is a maxima of the Harris map. More... | |
virtual void | computeCorners () |
Perfom the Harris Corner Detection. More... | |
virtual void | filter (int minDistance) |
Filter detected corners. More... | |
AimsData< double > | harrisMap () |
Get processed Harris map. More... | |
aims::BucketMap< Void > | corners () |
Get detected corners. More... | |
Protected Attributes | |
double | _epsilon |
double | _k |
double | _sigma |
double | _sigma2 |
double | _u |
T | _levels |
double | _f |
int | _radius |
int | _window |
AimsData< T > | _image |
AimsData< double > | _g |
AimsData< double > | _hmap |
aims::BucketMap< double > | _corners |
Harris Corner Detector.
k = det(A) - k * trace(A)^2
Where A is the second-moment matrix
| Lx²(x+dx,y+dy) Lx.Ly(x+dx,y+dy) |
A = Sum | | * Gaussian(dx, dy) dx,dy | Lx.Ly(x+dx,y+dy) Ly²(x+dx,y+dy) |
and k = a / (1 + a)^2,
where "a" is the mininmum ratio between the two eigenvalues for a point to be considered as a corner.
BaseHarrisDetector< T >::BaseHarrisDetector | ( | const AimsData< T > & | image, |
const double | sigma = 1.2 , |
||
const double | k = 0.6 , |
||
const double | epsilon = 1E-3 , |
||
const T | levels = (T) 255 |
||
) |
Constructor.
|
virtual |
Perfom the Harris Corner Detection.
Referenced by BaseHarrisDetector< T >::computeDerivatives().
|
inlinevirtual |
Reimplemented in HarrisDetector< T, 2 >.
Definition at line 79 of file harris.h.
References BaseHarrisDetector< T >::computeCorners(), BaseHarrisDetector< T >::computeHarrisMap(), BaseHarrisDetector< T >::corners(), BaseHarrisDetector< T >::filter(), BaseHarrisDetector< T >::harrisMap(), BaseHarrisDetector< T >::harrisMeasure(), and BaseHarrisDetector< T >::isSpatialMaxima().
|
virtual |
Compute the Harris measure for each pixel of the image.
Referenced by BaseHarrisDetector< T >::computeDerivatives().
aims::BucketMap<Void> BaseHarrisDetector< T >::corners | ( | ) |
Get detected corners.
Referenced by BaseHarrisDetector< T >::computeDerivatives().
|
virtual |
Filter detected corners.
minDistance | minimum distance between corners |
Referenced by BaseHarrisDetector< T >::computeDerivatives().
|
virtual |
Gaussian function.
AimsData<double> BaseHarrisDetector< T >::harrisMap | ( | ) |
Get processed Harris map.
Referenced by BaseHarrisDetector< T >::computeDerivatives().
|
pure virtual |
Compute harris measure for a pixel.
Implemented in HarrisDetector< T, 2 >.
Referenced by BaseHarrisDetector< T >::computeDerivatives().
|
pure virtual |
Check that pixel is a maxima of the Harris map.
Implemented in HarrisDetector< T, 2 >.
Referenced by BaseHarrisDetector< T >::computeDerivatives().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |