@Reference(type=Inproceedings, author={"Cui, Yan","Hasler, Nils","Thorm\"{a}hlen, Thorsten","Seidel, Hans-Peter"}, title="Scale Invariant Feature Transform with Irregular Orientation Histogram Binning", year="2009", booktitle="Proceedings of the 6th International Conference on Image Analysis and Recognition", pages={"258","","267"}, publisher="Springer-Verlag", series="ICIAR \'09", customData={"Address","Berlin, Heidelberg"}) public class IrregularBinningSIFTFeatureProvider extends Object implements GradientFeatureProvider, GradientFeatureProviderFactory
Modifier and Type | Field and Description |
---|---|
protected int |
numOriBins
Number of orientation bins in the histograms
|
protected float |
patchOrientation |
protected float |
valueThreshold
Threshold for the maximum allowed value in the histogram
|
protected float[] |
vec |
Constructor and Description |
---|
IrregularBinningSIFTFeatureProvider()
Construct a IrregularBinningSIFTFeatureExtractor with the default
parameters.
|
IrregularBinningSIFTFeatureProvider(int numOriBins)
Construct a IrregularBinningSIFTFeatureExtractor with the default
parameters.
|
IrregularBinningSIFTFeatureProvider(int numOriBins,
float valueThreshold)
Construct a IrregularBinningSIFTFeatureExtractor with the default
parameters.
|
Modifier and Type | Method and Description |
---|---|
void |
addSample(float x,
float y,
float gradmag,
float gradori)
Add a sample to the feature.
|
protected void |
assignOri(int r,
int c,
float orif,
float mag) |
OrientedFeatureVector |
getFeatureVector()
Get the FeatureVector associated with this object.
|
float |
getOversamplingAmount()
Get the amount of required over-sampling outside of the unit square
patch.
|
GradientFeatureProvider |
newProvider()
Construct a new GradientFeatureProvider implementation
with all its internal settings setup ready for use.
|
void |
setPatchOrientation(float patchOrientation)
Set the primary orientation of the sample patch in the image being
processed.
|
protected int numOriBins
protected float valueThreshold
protected float patchOrientation
protected float[] vec
public IrregularBinningSIFTFeatureProvider()
public IrregularBinningSIFTFeatureProvider(int numOriBins)
numOriBins
- the number of orientation bins (default 8)public IrregularBinningSIFTFeatureProvider(int numOriBins, float valueThreshold)
numOriBins
- the number of orientation bins (default 8)valueThreshold
- threshold for the maximum value allowed in the histogram
(default 0.2)public void addSample(float x, float y, float gradmag, float gradori)
GradientFeatureProvider
addSample
in interface GradientFeatureProvider
x
- x-coordinate within the unit indexing squarey
- y-coordinate within the unit indexing squaregradmag
- the gradient magnitude at the given coordinategradori
- the gradient direction at the given coordinateprotected void assignOri(int r, int c, float orif, float mag)
public OrientedFeatureVector getFeatureVector()
FeatureVectorProvider
getFeatureVector
in interface FeatureVectorProvider<OrientedFeatureVector>
getFeatureVector
in interface GradientFeatureProvider
public void setPatchOrientation(float patchOrientation)
GradientFeatureProvider
GradientFeatureProvider.addSample(float, float, float, float)
are made.setPatchOrientation
in interface GradientFeatureProvider
patchOrientation
- the actual orientation of the square in the imagepublic GradientFeatureProvider newProvider()
GradientFeatureProviderFactory
newProvider
in interface GradientFeatureProviderFactory
public float getOversamplingAmount()
LocalFeatureProvider
SIFTFeatureProvider.addSample(float, float, float, float)
being
called with pixels in the range -0.5 to 1.5.getOversamplingAmount
in interface LocalFeatureProvider<OrientedFeatureVector>