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 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()
Returns the algorithm string identifier.int
boolean
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.features2d.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
-
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: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 classFeature2D
- Returns:
- automatically generated
-
finalize
-