Package org.opencv.xfeatures2d
Class LATCH
java.lang.Object
org.opencv.core.Algorithm
org.opencv.features2d.Feature2D
org.opencv.xfeatures2d.LATCH
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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic LATCH__fromPtr__(long addr) static LATCHcreate()static LATCHcreate(int bytes) static LATCHcreate(int bytes, boolean rotationInvariance) static LATCHcreate(int bytes, boolean rotationInvariance, int half_ssd_size) static LATCHcreate(int bytes, boolean rotationInvariance, int half_ssd_size, double sigma) protected voidfinalize()intgetBytes()Returns the algorithm string identifier.intbooleandoublegetSigma()voidsetBytes(int bytes) voidsetHalfSSDsize(int half_ssd_size) voidsetRotationInvariance(boolean rotationInvariance) voidsetSigma(double sigma) Methods inherited from class org.opencv.features2d.Feature2D
compute, compute, defaultNorm, descriptorSize, descriptorType, detect, detect, detect, detect, detectAndCompute, detectAndCompute, empty, read, writeMethods inherited from class org.opencv.core.Algorithm
clear, getNativeObjAddr, save
-
Constructor Details
-
LATCH
protected LATCH(long addr)
-
-
Method Details
-
__fromPtr__
-
create
-
create
-
create
-
create
-
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
Description copied from class:AlgorithmReturns 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:
getDefaultNamein classFeature2D- Returns:
- automatically generated
-
finalize
-