Class DescribePointSurfMod<II extends ImageGray>
- java.lang.Object
-
- boofcv.alg.feature.describe.DescribePointSurf<II>
-
- boofcv.alg.feature.describe.DescribePointSurfMod<II>
-
public class DescribePointSurfMod<II extends ImageGray> extends DescribePointSurf<II>
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
DescribePointSurfat 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
-
-
Constructor Summary
Constructors Constructor and Description DescribePointSurfMod(java.lang.Class<II> imageType)Create a SURF-64 descriptor.DescribePointSurfMod(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
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidfeatures(double c_x, double c_y, double c, double s, double scale, SparseImageGradient gradient, double[] features)An improved SURF descriptor as presented in CenSurE paper.intgetCanonicalWidth()Width of sampled region when sampling is aligned with image pixels-
Methods inherited from class boofcv.alg.feature.describe.DescribePointSurf
computeLaplaceSign, createDescription, describe, describe, getDescriptionLength, setImage
-
-
-
-
Constructor Detail
-
DescribePointSurfMod
public DescribePointSurfMod(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.- Parameters:
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 3.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.
-
DescribePointSurfMod
public DescribePointSurfMod(java.lang.Class<II> imageType)
Create a SURF-64 descriptor. See [1] for details.
-
-
Method Detail
-
features
public void features(double c_x, double c_y, double c, double s, double scale, 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.
- Overrides:
featuresin classDescribePointSurf<II extends ImageGray>- Parameters:
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.
-
getCanonicalWidth
public int getCanonicalWidth()
Description copied from class:DescribePointSurfWidth of sampled region when sampling is aligned with image pixels- Overrides:
getCanonicalWidthin classDescribePointSurf<II extends ImageGray>- Returns:
- width of descriptor sample
-
-
DataMelt 3.0 © DataMelt by jWork.ORG