@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)
GradientFeatureProvideraddSample in interface GradientFeatureProviderx - 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()
FeatureVectorProvidergetFeatureVector in interface FeatureVectorProvider<OrientedFeatureVector>getFeatureVector in interface GradientFeatureProviderpublic void setPatchOrientation(float patchOrientation)
GradientFeatureProviderGradientFeatureProvider.addSample(float, float, float, float) are made.setPatchOrientation in interface GradientFeatureProviderpatchOrientation - the actual orientation of the square in the imagepublic GradientFeatureProvider newProvider()
GradientFeatureProviderFactorynewProvider in interface GradientFeatureProviderFactorypublic float getOversamplingAmount()
LocalFeatureProviderSIFTFeatureProvider.addSample(float, float, float, float) being
called with pixels in the range -0.5 to 1.5.getOversamplingAmount in interface LocalFeatureProvider<OrientedFeatureVector>