LATCH

Objective-C

@interface LATCH : Feature2D

Swift

class LATCH : 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

Member of Xfeatures2d

Methods

  • Declaration

    Objective-C

    + (LATCH*)create:(int)bytes rotationInvariance:(BOOL)rotationInvariance half_ssd_size:(int)half_ssd_size sigma:(double)sigma NS_SWIFT_NAME(create(bytes:rotationInvariance:half_ssd_size:sigma:));

    Swift

    class func create(bytes: Int32, rotationInvariance: Bool, half_ssd_size: Int32, sigma: Double) -> LATCH
  • Declaration

    Objective-C

    + (LATCH*)create:(int)bytes rotationInvariance:(BOOL)rotationInvariance half_ssd_size:(int)half_ssd_size NS_SWIFT_NAME(create(bytes:rotationInvariance:half_ssd_size:));

    Swift

    class func create(bytes: Int32, rotationInvariance: Bool, half_ssd_size: Int32) -> LATCH
  • Declaration

    Objective-C

    + (LATCH*)create:(int)bytes rotationInvariance:(BOOL)rotationInvariance NS_SWIFT_NAME(create(bytes:rotationInvariance:));

    Swift

    class func create(bytes: Int32, rotationInvariance: Bool) -> LATCH
  • Declaration

    Objective-C

    + (LATCH*)create:(int)bytes NS_SWIFT_NAME(create(bytes:));

    Swift

    class func create(bytes: Int32) -> LATCH
  • Declaration

    Objective-C

    + (LATCH*)create NS_SWIFT_NAME(create());

    Swift

    class func create() -> LATCH