Loading...
Searching...
No Matches

#include <opencv2/xfeatures2d.hpp>

Inheritance diagram for cv::xfeatures2d::LATCH:
cv::Feature2D cv::Algorithm

Public Member Functions

virtual int getBytes () const =0
 
String getDefaultName () const CV_OVERRIDE
 
virtual int getHalfSSDsize () const =0
 
virtual bool getRotationInvariance () const =0
 
virtual double getSigma () const =0
 
virtual void setBytes (int bytes)=0
 
virtual void setHalfSSDsize (int half_ssd_size)=0
 
virtual void setRotationInvariance (bool rotationInvariance)=0
 
virtual void setSigma (double sigma)=0
 
- 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).
 
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).
 
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.
 
virtual String getDefaultName () const CV_OVERRIDE
 
virtual void read (const FileNode &) CV_OVERRIDE
 Reads algorithm parameters from a file storage.
 
void read (const String &fileName)
 
void write (const Ptr< FileStorage > &fs, const String &name) const
 
void write (const String &fileName) const
 
virtual void write (FileStorage &) const CV_OVERRIDE
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 

Static Public Member Functions

static Ptr< LATCHcreate (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< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

Additional Inherited Members

- 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

◆ getBytes()

virtual int cv::xfeatures2d::LATCH::getBytes ( ) const
pure virtual

◆ getDefaultName()

String cv::xfeatures2d::LATCH::getDefaultName ( ) const
virtual

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.

Reimplemented from cv::Feature2D.

◆ getHalfSSDsize()

virtual int cv::xfeatures2d::LATCH::getHalfSSDsize ( ) const
pure virtual

◆ getRotationInvariance()

virtual bool cv::xfeatures2d::LATCH::getRotationInvariance ( ) const
pure virtual

◆ getSigma()

virtual double cv::xfeatures2d::LATCH::getSigma ( ) const
pure virtual

◆ setBytes()

virtual void cv::xfeatures2d::LATCH::setBytes ( int  bytes)
pure virtual

◆ setHalfSSDsize()

virtual void cv::xfeatures2d::LATCH::setHalfSSDsize ( int  half_ssd_size)
pure virtual

◆ setRotationInvariance()

virtual void cv::xfeatures2d::LATCH::setRotationInvariance ( bool  rotationInvariance)
pure virtual

◆ setSigma()

virtual void cv::xfeatures2d::LATCH::setSigma ( double  sigma)
pure virtual

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