IMAGE - Type of image to be processed.public class PyramidDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>> extends AbstractDenseSIFT<IMAGE>
FImages. Dense sift features
are extracted for the given bin sizes (scales). The image is optionally
smoothed with a Gaussian before each scale.
The PyramidDenseSIFT is not thread safe, but is reusable like the
DenseSIFT analyser.
| Constructor and Description |
|---|
PyramidDenseSIFT(AbstractDenseSIFT<IMAGE> dsift,
float magFactor,
int... sizes)
Construct the pyramid dense sift extractor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
analyseImage(IMAGE image,
Rectangle originalBounds)
Compute the dense sift descriptors inside the bounds rectangle of the
given image.
|
int |
getBinHeight()
This returns the bin size of the zeroth level only.
|
int |
getBinWidth()
This returns the bin size of the zeroth level only.
|
LocalFeatureList<ByteDSIFTKeypoint> |
getByteKeypoints()
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors. |
LocalFeatureList<ByteDSIFTKeypoint> |
getByteKeypoints(float energyThreshold)
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors. |
List<IntObjectPair<LocalFeatureList<ByteDSIFTKeypoint>>> |
getByteKeypointsGrouped()
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors. |
List<IntObjectPair<LocalFeatureList<ByteDSIFTKeypoint>>> |
getByteKeypointsGrouped(float energyThreshold)
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors. |
float[][] |
getDescriptors()
Get the computed raw dense SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle) . |
LocalFeatureList<FloatDSIFTKeypoint> |
getFloatKeypoints()
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors. |
LocalFeatureList<FloatDSIFTKeypoint> |
getFloatKeypoints(float energyThreshold)
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors. |
List<IntObjectPair<LocalFeatureList<FloatDSIFTKeypoint>>> |
getFloatKeypointsGrouped()
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors. |
List<IntObjectPair<LocalFeatureList<FloatDSIFTKeypoint>>> |
getFloatKeypointsGrouped(float energyThreshold)
Get the SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors. |
float[][][] |
getLevelDescriptors()
Get the computed raw dense SIFT descriptors from the previous call to
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle) . |
int |
getNumBinsX()
Get the number of spatial bins in the X direction
|
int |
getNumBinsY()
Get the number of spatial bins in the Y direction
|
int |
getNumOriBins()
Get the number of orientation bins
|
int[] |
getSizes()
Get the bin sizes
|
void |
setBinHeight(int size)
Not supported.
|
void |
setBinWidth(int size)
Not supported.
|
analyseImage, clonepublic PyramidDenseSIFT(AbstractDenseSIFT<IMAGE> dsift, float magFactor, int... sizes)
dsift - the underlying dense sift extractor (typically a
DenseSIFT (or ApproximateDenseSIFT) or
ColourDenseSIFT depending on the image type).magFactor - the magnification factorsizes - the scales (bin sizes for dense sift)public void analyseImage(IMAGE image, Rectangle originalBounds)
AbstractDenseSIFTanalyseImage in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>image - the imageoriginalBounds - the bounds rectanglepublic LocalFeatureList<FloatDSIFTKeypoint> getFloatKeypoints()
AbstractDenseSIFTAbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors.getFloatKeypoints in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>FloatDSIFTKeypoints.public LocalFeatureList<ByteDSIFTKeypoint> getByteKeypoints()
AbstractDenseSIFTAbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors.getByteKeypoints in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>ByteDSIFTKeypoints.public LocalFeatureList<FloatDSIFTKeypoint> getFloatKeypoints(float energyThreshold)
AbstractDenseSIFTAbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors. Only the
features with an energy above the given threshold will be returned.getFloatKeypoints in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>energyThreshold - the threshold on the feature energyFloatDSIFTKeypoints.public LocalFeatureList<ByteDSIFTKeypoint> getByteKeypoints(float energyThreshold)
AbstractDenseSIFTAbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors. Only the
features with an energy above the given threshold will be returned.getByteKeypoints in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>energyThreshold - the threshold on the feature energyByteDSIFTKeypoints.public List<IntObjectPair<LocalFeatureList<FloatDSIFTKeypoint>>> getFloatKeypointsGrouped()
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors.FloatDSIFTKeypoints.public List<IntObjectPair<LocalFeatureList<ByteDSIFTKeypoint>>> getByteKeypointsGrouped()
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors.ByteDSIFTKeypoints.public List<IntObjectPair<LocalFeatureList<FloatDSIFTKeypoint>>> getFloatKeypointsGrouped(float energyThreshold)
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with float vectors. Only the
features with an energy above the given threshold will be returned.energyThreshold - the threshold on the feature energyFloatDSIFTKeypoints.public List<IntObjectPair<LocalFeatureList<ByteDSIFTKeypoint>>> getByteKeypointsGrouped(float energyThreshold)
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle)
in the form of a list of local features with byte vectors. Only the
features with an energy above the given threshold will be returned.energyThreshold - the threshold on the feature energyByteDSIFTKeypoints.public float[][][] getLevelDescriptors()
AbstractDenseSIFT.analyseImage(Image) or analyseImage(Image, Rectangle) .
The descriptors are grouped by the sizes at which they were extracted.public int[] getSizes()
public void setBinWidth(int size)
setBinWidth in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>size - size to setUnsupportedOperationExceptionpublic void setBinHeight(int size)
setBinHeight in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>size - size to setUnsupportedOperationExceptionpublic int getBinWidth()
AbstractDenseSIFT.getNumBinsX().getBinWidth in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>public int getBinHeight()
AbstractDenseSIFT.getNumBinsY().getBinHeight in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>public int getNumBinsX()
AbstractDenseSIFTgetNumBinsX in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>public int getNumBinsY()
AbstractDenseSIFTgetNumBinsY in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>public int getNumOriBins()
AbstractDenseSIFTgetNumOriBins in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>public float[][] getDescriptors()
AbstractDenseSIFTAbstractDenseSIFT.analyseImage(Image) or AbstractDenseSIFT.analyseImage(Image, Rectangle) .getDescriptors in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>