Documentation of 'boofcv.alg.feature.detect.intensity.FastCornerIntensity' Java class
FastCornerIntensity
boofcv.alg.feature.detect.intensity

Class FastCornerIntensity<T extends ImageGray>

  • All Implemented Interfaces:
    FeatureIntensity<T>
    Direct Known Subclasses:
    ImplFastIntensity10, ImplFastIntensity11, ImplFastIntensity12, ImplFastIntensity9


    public abstract class FastCornerIntensity<T extends ImageGray>
    extends java.lang.Object
    implements FeatureIntensity<T>

    Generic interface for fast corner detection algorithms. The general idea is that at the points in a circle around the center point (see below) should either be above or below the center pixel's intensity value value. With this information candidates corners can be quickly eliminated, see [1].

    This implementation works by trying to minimize the number of reads per pixel. Code is auto generated and samples each point in a series of if statements such that the number of possible candidate corners around a pixel are eliminated. A different auto generated implementation is provided for Fast 9 to Fast 12. The number indicates how many continuous pixels are needed for it to be considered a corner.

    After a pixel is flagged as a corner then the the intensity the difference between the average exterior pixel value which is part of the corner and the center pixel value. See code for details.

    Circle of radius 2 pixels is searched around the center point 'x':

    121314
    11 15
    10 16
    09
    x
    01
    08 02
    07 03
    060504

    See Also:

    [1] Edward Rosten, Reid Porter and Tom Drummond. "Faster and better: a machine learning approach to corner detection"

    • Method Detail

      • getRadius

        public int getRadius()
        Description copied from interface: FeatureIntensity
        Returns the radius of the feature being computed. Features are square in shape with a width = 2*radius+1.
        Specified by:
        getRadius in interface FeatureIntensity<T extends ImageGray>
        Returns:
        Radius of detected features.
      • getIgnoreBorder

        public int getIgnoreBorder()
        Description copied from interface: FeatureIntensity
        Size of the region surrounding the image's border in which pixels are not processed.
        Specified by:
        getIgnoreBorder in interface FeatureIntensity<T extends ImageGray>
        Returns:
        The ignore border around the image.
      • process

        public void process(T image,
                            GrayF32 intensity)

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.