Class cv::xfeatures2d::LATCH#

Collaboration diagram for cv::xfeatures2d::LATCH:

Public Member Functions#

Public Member Functions inherited from cv::Feature2D
Public Member Functions inherited from cv::Algorithm

Return

Name

Description

Algorithm()

~Algorithm()

void

clear()

Clears the algorithm state.

bool

empty()

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.

String

getDefaultName()

void

read(const FileNode & fn)

Reads algorithm parameters from a file storage.

void

save(const String & filename)

void

write(
    const Ptr< FileStorage > & fs,
    const String & name = String() )

void

write(FileStorage & fs)

Stores algorithm parameters in a file storage.

void

write(
    FileStorage & fs,
    const String & name )

Static Public Member Functions#

Static Public Member Functions inherited from cv::Algorithm

Return

Name

Description

static Ptr< _Tp >

load(
    const String & filename,
    const String & objname = String() )

Loads algorithm from the file.

static Ptr< _Tp >

loadFromString(
    const String & strModel,
    const String & objname = String() )

Loads algorithm from a String.

static Ptr< _Tp >

read(const FileNode & fn)

Reads algorithm from the file node.

Additional Inherited Members#

Protected Member Functions inherited from cv::Algorithm

Return

Name

Description

void

writeFormat(FileStorage & fs)

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 )

getBytes()#

int cv::xfeatures2d::LATCH::getBytes()

getDefaultName()#

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

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.

getHalfSSDsize()#

int cv::xfeatures2d::LATCH::getHalfSSDsize()

getRotationInvariance()#

bool cv::xfeatures2d::LATCH::getRotationInvariance()

getSigma()#

double cv::xfeatures2d::LATCH::getSigma()

setBytes()#

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

setHalfSSDsize()#

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

setRotationInvariance()#

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

setSigma()#

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

Source file#

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