Package org.opencv.xfeatures2d

## Class FREAK

- java.lang.Object
- - org.opencv.core.Algorithm
  - - org.opencv.features.Feature2D
    - - org.opencv.xfeatures2d.FREAK

-     public class FREAK
      extends Feature2D

  Class implementing the FREAK (*Fast Retina Keypoint*) keypoint descriptor, described in CITE: AOV12 . The algorithm propose a novel keypoint descriptor inspired by the human visual system and more precisely the retina, coined Fast Retina Key- point (FREAK). A cascade of binary strings is computed by efficiently comparing image intensities over a retinal sampling pattern. FREAKs are in general faster to compute with lower memory load and also more robust than SIFT, SURF or BRISK. They are competitive alternatives to existing keypoints in particular for embedded applications. Note:
  - An example on how to use the FREAK descriptor can be found at opencv_source_code/samples/cpp/freak_demo.cpp

- - ### Field Summary

    - ### Fields inherited from class org.opencv.core.Algorithm

      `nativeObj`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `FREAK​(long addr)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static FREAK` | `__fromPtr__​(long addr)` |
    `static FREAK` | `create()` |
    `static FREAK` | `create​(boolean orientationNormalized)` |
    `static FREAK` | `create​(boolean orientationNormalized, boolean scaleNormalized)` |
    `static FREAK` | `create​(boolean orientationNormalized, boolean scaleNormalized, float patternScale)` |
    `static FREAK` | `create​(boolean orientationNormalized, boolean scaleNormalized, float patternScale, int nOctaves)` |
    `static FREAK` | `create​(boolean orientationNormalized, boolean scaleNormalized, float patternScale, int nOctaves, MatOfInt selectedPairs)` |
    `protected void` | `finalize()` |
    `java.lang.String` | `getDefaultName()` | Returns the algorithm string identifier.
    `int` | `getNOctaves()` |
    `boolean` | `getOrientationNormalized()` |
    `double` | `getPatternScale()` |
    `boolean` | `getScaleNormalized()` |
    `void` | `setNOctaves​(int nOctaves)` |
    `void` | `setOrientationNormalized​(boolean orientationNormalized)` |
    `void` | `setPatternScale​(double patternScale)` |
    `void` | `setScaleNormalized​(boolean scaleNormalized)` |

    - ### Methods inherited from class org.opencv.features.Feature2D

      `compute, compute, defaultNorm, descriptorSize, descriptorType, detect, detect, detect, detect, detectAndCompute, detectAndCompute, empty, read, write`

    - ### Methods inherited from class org.opencv.core.Algorithm

      `clear, getNativeObjAddr, save`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FREAK

          protected FREAK​(long addr)

  - ### Method Detail

    - #### __fromPtr__

          public static FREAK __fromPtr__​(long addr)

    - #### create

          public static FREAK create​(boolean orientationNormalized,
                                     boolean scaleNormalized,
                                     float patternScale,
                                     int nOctaves,
                                     MatOfInt selectedPairs)

      Parameters:
        `orientationNormalized` - Enable orientation normalization.
        `scaleNormalized` - Enable scale normalization.
        `patternScale` - Scaling of the description pattern.
        `nOctaves` - Number of octaves covered by the detected keypoints.
        `selectedPairs` - (Optional) user defined selected pairs indexes,
      Returns:
        automatically generated

    - #### create

          public static FREAK create​(boolean orientationNormalized,
                                     boolean scaleNormalized,
                                     float patternScale,
                                     int nOctaves)

      Parameters:
        `orientationNormalized` - Enable orientation normalization.
        `scaleNormalized` - Enable scale normalization.
        `patternScale` - Scaling of the description pattern.
        `nOctaves` - Number of octaves covered by the detected keypoints.
      Returns:
        automatically generated

    - #### create

          public static FREAK create​(boolean orientationNormalized,
                                     boolean scaleNormalized,
                                     float patternScale)

      Parameters:
        `orientationNormalized` - Enable orientation normalization.
        `scaleNormalized` - Enable scale normalization.
        `patternScale` - Scaling of the description pattern.
      Returns:
        automatically generated

    - #### create

          public static FREAK create​(boolean orientationNormalized,
                                     boolean scaleNormalized)

      Parameters:
        `orientationNormalized` - Enable orientation normalization.
        `scaleNormalized` - Enable scale normalization.
      Returns:
        automatically generated

    - #### create

          public static FREAK create​(boolean orientationNormalized)

      Parameters:
        `orientationNormalized` - Enable orientation normalization.
      Returns:
        automatically generated

    - #### create

          public static FREAK create()

      Returns:
        automatically generated

    - #### setOrientationNormalized

          public void setOrientationNormalized​(boolean orientationNormalized)

    - #### getOrientationNormalized

          public boolean getOrientationNormalized()

    - #### setScaleNormalized

          public void setScaleNormalized​(boolean scaleNormalized)

    - #### getScaleNormalized

          public boolean getScaleNormalized()

    - #### setPatternScale

          public void setPatternScale​(double patternScale)

    - #### getPatternScale

          public double getPatternScale()

    - #### setNOctaves

          public void setNOctaves​(int nOctaves)

    - #### getNOctaves

          public int getNOctaves()

    - #### getDefaultName

          public java.lang.String getDefaultName()

      Description copied from class: `Algorithm`
      Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
      Overrides:
        `getDefaultName` in class `Feature2D`
      Returns:
        automatically generated

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `Feature2D`
      Throws:
        `java.lang.Throwable`