| OpenCV 4.3.0 Open Source Computer Vision

Static Public Member Functions | List of all members
cv::xfeatures2d::LATCH Class Reference
Extra 2D Features Framework » Experimental 2D Features Algorithms

`#include <opencv2/xfeatures2d.hpp>`

Inheritance diagram for cv::xfeatures2d::LATCH:

## Static Public Member Functions
static Ptr< LATCH > | create (int bytes=32, bool rotationInvariance=true, int half_ssd_size=3, double sigma=2.0)
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file. More...
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node. More...

## Additional Inherited Members
Public Member Functions inherited from cv::Feature2D
virtual | ~Feature2D ()
virtual void | compute (InputArray image, std::vector< KeyPoint > &keypoints, OutputArray descriptors)
| Computes the descriptors for a set of keypoints detected in an image (first variant) or image set (second variant). More...
virtual void | compute (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, OutputArrayOfArrays descriptors)
virtual int | defaultNorm () const
virtual int | descriptorSize () const
virtual int | descriptorType () const
virtual void | detect (InputArray image, std::vector< KeyPoint > &keypoints, InputArray mask=noArray())
| Detects keypoints in an image (first variant) or image set (second variant). More...
virtual void | detect (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, InputArrayOfArrays masks=noArray())
virtual void | detectAndCompute (InputArray image, InputArray mask, std::vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false)
virtual bool | empty () const CV_OVERRIDE
| Return true if detector object is empty. More...
virtual String | getDefaultName () const CV_OVERRIDE
void | read (const String &fileName)
virtual void | read (const FileNode &) CV_OVERRIDE
| Reads algorithm parameters from a file storage. More...
void | write (const String &fileName) const
virtual void | write (FileStorage &) const CV_OVERRIDE
| Stores algorithm parameters in a file storage. More...
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state. More...
virtual void | save (const String &filename) const
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
| simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

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 Function Documentation

## ◆ create()

static Ptr<LATCH> cv::xfeatures2d::LATCH::create | ( | int | bytes = `32`,
|  | bool | rotationInvariance = `true`,
|  | int | half_ssd_size = `3`,
|  | double | sigma = `2.0`
| ) |  |
| static

Python:
| retval | = | cv.xfeatures2d.LATCH_create( | [, bytes[, rotationInvariance[, half_ssd_size[, sigma]]]] | )

The documentation for this class was generated from the following file:

- opencv2/xfeatures2d.hpp