public class FloatArray2DSIFT
extends java.lang.Object
| 构造器和说明 |
|---|
FloatArray2DSIFT(int feature_descriptor_size,
int feature_descriptor_orientation_bins)
Constructor
|
| 限定符和类型 | 方法和说明 |
|---|---|
static java.util.Vector<PointMatch> |
createMatches(java.util.List<SiftFeature> fs1,
java.util.List<SiftFeature> fs2,
float max_sd,
Model model,
float max_id)
identify corresponding features using spatial constraints
|
static float[] |
featureSizeHistogram(java.util.Vector<SiftFeature> features,
float min,
float max,
int bins)
get a histogram of feature sizes
|
long |
getFeatureObjectSize()
Returns the size in bytes of a Feature object.
|
static long |
getFeatureObjectSize(int fdsize,
int fdbins) |
FloatArray2DScaleOctave |
getOctave(int i) |
FloatArray2DScaleOctave[] |
getOctaves() |
void |
init(FloatArray2D src,
int steps,
float initial_sigma,
int min_size,
int max_size)
initialize the scale space as a scale pyramid having octave stubs only
|
java.util.Vector<SiftFeature> |
run()
detect features in all scale octaves
|
java.util.Vector<SiftFeature> |
run(int max_size)
detect features in all scale octaves
|
java.util.Vector<SiftFeature> |
runOctave(int o)
detect features in the specified scale octave
|
public FloatArray2DSIFT(int feature_descriptor_size,
int feature_descriptor_orientation_bins)
feature_descriptor_size - feature_descriptor_size - public long getFeatureObjectSize()
public static long getFeatureObjectSize(int fdsize,
int fdbins)
public FloatArray2DScaleOctave[] getOctaves()
public FloatArray2DScaleOctave getOctave(int i)
public void init(FloatArray2D src, int steps, float initial_sigma, int min_size, int max_size)
src - image having a generating gaussian kernel of initial_sigma
img must be a 2d-array of float values in range [0.0f, ..., 1.0f]steps - gaussian smooth steps steps per scale octaveinitial_sigma - sigma of the generating gaussian kernel of imgmin_size - minimal size of a scale octave in pixelmax_size - maximal size of an octave to be taken into account
Use this to save memory and procesing time, if processing higher
resolutions is not necessary.public java.util.Vector<SiftFeature> runOctave(int o)
o - octave indexpublic java.util.Vector<SiftFeature> run()
public java.util.Vector<SiftFeature> run(int max_size)
public static java.util.Vector<PointMatch> createMatches(java.util.List<SiftFeature> fs1, java.util.List<SiftFeature> fs2, float max_sd, Model model, float max_id)
fs1 - feature collection from set 1 sorted by decreasing sizefs2 - feature collection from set 2 sorted by decreasing sizemax_sd - maximal difference in size (ratio max/min)model - transformation model to be applied to fs2max_id - maximal distance in image space ($\sqrt{x^2+y^2}$)public static float[] featureSizeHistogram(java.util.Vector<SiftFeature> features, float min, float max, int bins)