IMAGE
- Type of image to be processed.public class PyramidDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>> extends AbstractDenseSIFT<IMAGE>
FImage
s. 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, clone
public 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)
AbstractDenseSIFT
analyseImage
in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>
image
- the imageoriginalBounds
- the bounds rectanglepublic LocalFeatureList<FloatDSIFTKeypoint> getFloatKeypoints()
AbstractDenseSIFT
AbstractDenseSIFT.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>>
FloatDSIFTKeypoint
s.public LocalFeatureList<ByteDSIFTKeypoint> getByteKeypoints()
AbstractDenseSIFT
AbstractDenseSIFT.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>>
ByteDSIFTKeypoint
s.public LocalFeatureList<FloatDSIFTKeypoint> getFloatKeypoints(float energyThreshold)
AbstractDenseSIFT
AbstractDenseSIFT.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 energyFloatDSIFTKeypoint
s.public LocalFeatureList<ByteDSIFTKeypoint> getByteKeypoints(float energyThreshold)
AbstractDenseSIFT
AbstractDenseSIFT.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 energyByteDSIFTKeypoint
s.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.FloatDSIFTKeypoint
s.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.ByteDSIFTKeypoint
s.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 energyFloatDSIFTKeypoint
s.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 energyByteDSIFTKeypoint
s.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 setUnsupportedOperationException
public void setBinHeight(int size)
setBinHeight
in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>
size
- size to setUnsupportedOperationException
public 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()
AbstractDenseSIFT
getNumBinsX
in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>
public int getNumBinsY()
AbstractDenseSIFT
getNumBinsY
in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>
public int getNumOriBins()
AbstractDenseSIFT
getNumOriBins
in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>
public float[][] getDescriptors()
AbstractDenseSIFT
AbstractDenseSIFT.analyseImage(Image)
or AbstractDenseSIFT.analyseImage(Image, Rectangle)
.getDescriptors
in class AbstractDenseSIFT<IMAGE extends Image<?,IMAGE> & SinglebandImageProcessor.Processable<Float,FImage,IMAGE>>