@Reference(type=Article,author="David Lowe",title="Distinctive image features from scale-invariant keypoints",year="2004",journal="IJCV",pages={"91","110"},month="January",number="2",volume="60") @Reference(type=Inproceedings,author="David Lowe",title="Object recognition from local scale-invariant features",year="1999",booktitle="Proc. of the International Conference on Computer Vision {ICCV}",pages={"1150","1157"}) public class BasicOctaveExtremaFinder extends AbstractOctaveExtremaFinder<GaussianOctave<FImage>>
A basic concrete implementation of an AbstractOctaveExtremaFinder
that searches for local extrema in scale space. If detected extrema pass a
series of tests (namely those described in
AbstractOctaveExtremaFinder
) and a final test that tests the absolute
value of the interest point pixel against a threshold, then the listener
object will be informed that a point has been detected.
Modifier and Type | Field and Description |
---|---|
static float |
DEFAULT_MAGNITUDE_THRESHOLD
The default threshold for the magnitude of interest points
|
protected float |
magnitudeThreshold |
protected float |
normMagnitudeScales |
protected float |
scales |
DEFAULT_EIGENVALUE_RATIO, eigenvalueRatio
currentScaleIndex, listener, octave
Constructor and Description |
---|
BasicOctaveExtremaFinder()
Default constructor using
DEFAULT_MAGNITUDE_THRESHOLD for the
magnitude threshold and AbstractOctaveExtremaFinder.DEFAULT_EIGENVALUE_RATIO for the
Eigenvalue ratio threshold. |
BasicOctaveExtremaFinder(float magnitudeThreshold)
Construct with the given magnitude threshold and
AbstractOctaveExtremaFinder.DEFAULT_EIGENVALUE_RATIO for the Eigenvalue ratio threshold. |
BasicOctaveExtremaFinder(float magnitudeThreshold,
float eigenvalueRatio)
Construct with the given magnitude and Eigenvalue thresholds
|
Modifier and Type | Method and Description |
---|---|
protected void |
beforeProcess(GaussianOctave<FImage> octave)
Called at the start of
AbstractOctaveExtremaFinder#process(OCTAVE) |
protected boolean |
firstCheck(float val,
int x,
int y,
int s,
FImage[] dogs)
Perform the first of the checks that determine whether a point is a valid
interest point.
|
protected void |
processExtrema(FImage[] dogs,
int s,
int x,
int y,
float octSize)
Perform any additional checks on the point, and then inform the listener
that a point has been found.
|
getCurrentScaleIndex, getOctave, isLocalExtremum, isNotEdge, process
getOctaveInterestPointListener, setOctaveInterestPointListener
public static final float DEFAULT_MAGNITUDE_THRESHOLD
protected float magnitudeThreshold
protected float scales
protected float normMagnitudeScales
public BasicOctaveExtremaFinder()
DEFAULT_MAGNITUDE_THRESHOLD
for the
magnitude threshold and AbstractOctaveExtremaFinder.DEFAULT_EIGENVALUE_RATIO
for the
Eigenvalue ratio threshold.public BasicOctaveExtremaFinder(float magnitudeThreshold)
AbstractOctaveExtremaFinder.DEFAULT_EIGENVALUE_RATIO
for the Eigenvalue ratio threshold.magnitudeThreshold
- the magnitude thresholdpublic BasicOctaveExtremaFinder(float magnitudeThreshold, float eigenvalueRatio)
magnitudeThreshold
- the magnitude thresholdeigenvalueRatio
- the Eigenvalue thresholdprotected void beforeProcess(GaussianOctave<FImage> octave)
AbstractOctaveExtremaFinder
AbstractOctaveExtremaFinder#process(OCTAVE)
beforeProcess
in class AbstractOctaveExtremaFinder<GaussianOctave<FImage>>
octave
- the octave being processedprotected boolean firstCheck(float val, int x, int y, int s, FImage[] dogs)
AbstractOctaveExtremaFinder
firstCheck
in class AbstractOctaveExtremaFinder<GaussianOctave<FImage>>
val
- the value at the point.x
- the x-coordinate of the point.y
- the y-coordinate of the point.s
- the scale index at which the point was founddogs
- the scale imagesprotected void processExtrema(FImage[] dogs, int s, int x, int y, float octSize)
AbstractOctaveExtremaFinder
processExtrema
in class AbstractOctaveExtremaFinder<GaussianOctave<FImage>>
dogs
- the stack of images in this octaves
- the interest-point scalex
- the x-coordinate of the interest-pointy
- the y-coordinate of the interest-point