|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectutilities.boofcv_extensions.DescribePointSurfNormalization<II>
utilities.boofcv_extensions.DescribePointSurfModNormalization<II>
public class DescribePointSurfModNormalization<II extends boofcv.struct.image.ImageSingleBand>
Modified SURF descriptor which attempts to smooth out edge conditions. Based upon MU-SURF described in
[1] it computes features in over lapping sub-regions and has a separate set of weights for the large grid and
for sub-regions. Due to these improvements it will in general produce better results than DescribePointSurf
at the cost of additional computations.
[1] M. Agrawal, K. Konolige, and M. Blas, "CenSurE: Center Surround Extremas for Realtime Feature Detection and Matching," Computer Vision – ECCV 2008
Field Summary | |
---|---|
private int |
overLap
|
private double[] |
samplesX
|
private double[] |
samplesY
|
(package private) int |
sampleWidth
|
private boofcv.struct.convolve.Kernel2D_F64 |
weightGrid
|
private boofcv.struct.convolve.Kernel2D_F64 |
weightSub
|
Fields inherited from class utilities.boofcv_extensions.DescribePointSurfNormalization |
---|
featureDOF, gradient, ii, weight, widthLargeGrid, widthSample, widthSubRegion |
Constructor Summary | |
---|---|
DescribePointSurfModNormalization(java.lang.Class<II> imageType)
Create a SURF-64 descriptor. |
|
DescribePointSurfModNormalization(int widthLargeGrid,
int widthSubRegion,
int widthSample,
int overLap,
double sigmaLargeGrid,
double sigmaSubRegion,
boolean useHaar,
java.lang.Class<II> imageType)
Creates a SURF descriptor of arbitrary dimension by changing how the local region is sampled. |
Method Summary | |
---|---|
void |
describe(double x,
double y,
double angle,
double scale,
boofcv.struct.feature.SurfFeature ret)
Computes the SURF descriptor for the specified interest point. |
void |
features(double c_x,
double c_y,
double c,
double s,
double scale,
boofcv.struct.sparse.SparseImageGradient gradient,
double[] features)
An improved SURF descriptor as presented in CenSurE paper. |
int |
getRadius()
|
Methods inherited from class utilities.boofcv_extensions.DescribePointSurfNormalization |
---|
computeLaplaceSign, createDescription, getDescriptionLength, setImage |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private int overLap
private boofcv.struct.convolve.Kernel2D_F64 weightGrid
private boofcv.struct.convolve.Kernel2D_F64 weightSub
private double[] samplesX
private double[] samplesY
int sampleWidth
Constructor Detail |
---|
public DescribePointSurfModNormalization(int widthLargeGrid, int widthSubRegion, int widthSample, int overLap, double sigmaLargeGrid, double sigmaSubRegion, boolean useHaar, java.lang.Class<II> imageType)
widthLargeGrid
- Number of sub-regions wide the large grid is. Typically 4.widthSubRegion
- Number of sample points wide a sub-region is. Typically 5.widthSample
- The size of a sample point. Typically 4.overLap
- Number of sample points sub-regions overlap, Typically 2.sigmaLargeGrid
- Sigma used to weight points in the large grid. Typically 2.5sigmaSubRegion
- Sigma used to weight points in the sub-region grid. Typically 2.5useHaar
- If true the Haar wavelet will be used (what was used in [1]), false means an image gradient
approximation will be used. True is recommended.public DescribePointSurfModNormalization(java.lang.Class<II> imageType)
Method Detail |
---|
public void describe(double x, double y, double angle, double scale, boofcv.struct.feature.SurfFeature ret)
Computes the SURF descriptor for the specified interest point. If the feature goes outside of the image border (including convolution kernels) then null is returned.
describe
in class DescribePointSurfNormalization<II extends boofcv.struct.image.ImageSingleBand>
x
- Location of interest point.y
- Location of interest point.angle
- The angle the feature is pointing at in radians.scale
- Scale of the interest point. Null is returned if the feature goes outside the image border.ret
- storage for the feature. Must have 64 values. If null a new feature will be declared internally.public void features(double c_x, double c_y, double c, double s, double scale, boofcv.struct.sparse.SparseImageGradient gradient, double[] features)
An improved SURF descriptor as presented in CenSurE paper. The sub-regions now overlap and more points are sampled in the sub-region to allow overlap.
features
in class DescribePointSurfNormalization<II extends boofcv.struct.image.ImageSingleBand>
c_x
- Center of the feature x-coordinate.c_y
- Center of the feature y-coordinate.c
- cosine of the orientations
- sine of the orientationscale
- The scale of the wavelets.features
- Where the features are written to. Must be 4*(widthLargeGrid*widthSubRegion)^2 large.public int getRadius()
getRadius
in class DescribePointSurfNormalization<II extends boofcv.struct.image.ImageSingleBand>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |