Package org.opencv.xfeatures2d

## Class LATCH

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

-     public class LATCH
      extends Feature2D

  latch Class for computing the LATCH descriptor. If you find this code useful, please add a reference to the following paper in your work: Gil Levi and Tal Hassner, "LATCH: Learned Arrangements of Three Patch Codes", arXiv preprint arXiv:1501.03719, 15 Jan. 2015 LATCH is a binary descriptor based on learned comparisons of triplets of image patches. bytes is the size of the descriptor - can be 64, 32, 16, 8, 4, 2 or 1 rotationInvariance - whether or not the descriptor should compansate for orientation changes. half_ssd_size - the size of half of the mini-patches size. For example, if we would like to compare triplets of patches of size 7x7x then the half_ssd_size should be (7-1)/2 = 3. sigma - sigma value for GaussianBlur smoothing of the source image. Source image will be used without smoothing in case sigma value is 0. Note: the descriptor can be coupled with any keypoint extractor. The only demand is that if you use set rotationInvariance = True then you will have to use an extractor which estimates the patch orientation (in degrees). Examples for such extractors are ORB and SIFT. Note: a complete example can be found under /samples/cpp/tutorial_code/xfeatures2D/latch_match.cpp

- - ### Field Summary

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

      `nativeObj`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static LATCH` | `__fromPtr__​(long addr)` |
    `static LATCH` | `create()` |
    `static LATCH` | `create​(int bytes)` |
    `static LATCH` | `create​(int bytes, boolean rotationInvariance)` |
    `static LATCH` | `create​(int bytes, boolean rotationInvariance, int half_ssd_size)` |
    `static LATCH` | `create​(int bytes, boolean rotationInvariance, int half_ssd_size, double sigma)` |
    `protected void` | `finalize()` |
    `int` | `getBytes()` |
    `java.lang.String` | `getDefaultName()` | Returns the algorithm string identifier.
    `int` | `getHalfSSDsize()` |
    `boolean` | `getRotationInvariance()` |
    `double` | `getSigma()` |
    `void` | `setBytes​(int bytes)` |
    `void` | `setHalfSSDsize​(int half_ssd_size)` |
    `void` | `setRotationInvariance​(boolean rotationInvariance)` |
    `void` | `setSigma​(double sigma)` |

    - ### 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

    - #### LATCH

          protected LATCH​(long addr)

  - ### Method Detail

    - #### __fromPtr__

          public static LATCH __fromPtr__​(long addr)

    - #### create

          public static LATCH create​(int bytes,
                                     boolean rotationInvariance,
                                     int half_ssd_size,
                                     double sigma)

    - #### create

          public static LATCH create​(int bytes,
                                     boolean rotationInvariance,
                                     int half_ssd_size)

    - #### create

          public static LATCH create​(int bytes,
                                     boolean rotationInvariance)

    - #### create

          public static LATCH create​(int bytes)

    - #### create

          public static LATCH create()

    - #### setBytes

          public void setBytes​(int bytes)

    - #### getBytes

          public int getBytes()

    - #### setRotationInvariance

          public void setRotationInvariance​(boolean rotationInvariance)

    - #### getRotationInvariance

          public boolean getRotationInvariance()

    - #### setHalfSSDsize

          public void setHalfSSDsize​(int half_ssd_size)

    - #### getHalfSSDsize

          public int getHalfSSDsize()

    - #### setSigma

          public void setSigma​(double sigma)

    - #### getSigma

          public double getSigma()

    - #### 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`