public abstract class ImplSsdCornerBase<D extends ImageSingleBand,D2 extends ImageSingleBand> extends Object implements GradientCornerIntensity<D>
Several corner detector algorithms work by computing a symmetric matrix whose elements are composed of the convolution of the image's gradient squared. This is done for X*X, X*Y, and X*X. Once the matrix has been constructed it is used to estimate how corner like the pixel under consideration is. This class provides a generalized interface for performing these calculations in an optimized manor.
NOTE: Image borders are not processed. The zeros in the image border need to be taken in account when extract features using algorithms such as non-max suppression.
| Modifier and Type | Field and Description |
|---|---|
protected D |
derivX |
protected D |
derivY |
protected D2 |
horizXX |
protected D2 |
horizXY |
protected D2 |
horizYY |
protected int |
radius |
protected int |
x |
protected int |
y |
| Constructor and Description |
|---|
ImplSsdCornerBase(int windowRadius,
Class<D2> secondDerivType) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract float |
computeIntensity()
Computes the pixel's corner intensity.
|
int |
getIgnoreBorder()
Size of the region surrounding the image's border in which pixels are not processed.
|
int |
getRadius()
Returns the radius of the feature being computed.
|
protected abstract void |
horizontal() |
void |
process(D derivX,
D derivY,
ImageFloat32 intensity)
Computes feature intensity image.
|
void |
setImageShape(int imageWidth,
int imageHeight) |
protected abstract void |
vertical(ImageFloat32 intensity) |
protected D extends ImageSingleBand derivX
protected D extends ImageSingleBand derivY
protected int radius
protected D2 extends ImageSingleBand horizXX
protected D2 extends ImageSingleBand horizXY
protected D2 extends ImageSingleBand horizYY
protected int x
protected int y
public void setImageShape(int imageWidth,
int imageHeight)
public int getRadius()
FeatureIntensitygetRadius in interface FeatureIntensity<D extends ImageSingleBand>protected abstract float computeIntensity()
public int getIgnoreBorder()
FeatureIntensitygetIgnoreBorder in interface FeatureIntensity<D extends ImageSingleBand>public void process(D derivX, D derivY, ImageFloat32 intensity)
GradientCornerIntensityprocess in interface GradientCornerIntensity<D extends ImageSingleBand>derivX - Image derivative along the x-axis.derivY - Image derivative along the y-axis.intensity - Output intensity imageprotected abstract void horizontal()
protected abstract void vertical(ImageFloat32 intensity)
Copyright © 2013. All Rights Reserved.