Loading...
Searching...
No Matches

Class implementing the MSD (Maximal Self-Dissimilarity) keypoint detector, described in [Tombari14]. More...

#include <opencv2/xfeatures2d.hpp>

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

Public Member Functions

virtual bool getComputeOrientation () const =0
 
String getDefaultName () const CV_OVERRIDE
 
virtual int getKNN () const =0
 
virtual int getNmsRadius () const =0
 
virtual int getNmsScaleRadius () const =0
 
virtual int getNScales () const =0
 
virtual int getPatchRadius () const =0
 
virtual float getScaleFactor () const =0
 
virtual int getSearchAreaRadius () const =0
 
virtual float getThSaliency () const =0
 
virtual void setComputeOrientation (bool compute_orientation)=0
 
virtual void setKNN (int kNN)=0
 
virtual void setNmsRadius (int nms_radius)=0
 
virtual void setNmsScaleRadius (int nms_scale_radius)=0
 
virtual void setNScales (int use_orientation)=0
 
virtual void setPatchRadius (int patch_radius)=0
 
virtual void setScaleFactor (float scale_factor)=0
 
virtual void setSearchAreaRadius (int use_orientation)=0
 
virtual void setThSaliency (float th_saliency)=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< MSDDetectorcreate (int m_patch_radius=3, int m_search_area_radius=5, int m_nms_radius=5, int m_nms_scale_radius=0, float m_th_saliency=250.0f, int m_kNN=4, float m_scale_factor=1.25f, int m_n_scales=-1, bool m_compute_orientation=false)
 
- 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

Class implementing the MSD (Maximal Self-Dissimilarity) keypoint detector, described in [Tombari14].

The algorithm implements a novel interest point detector stemming from the intuition that image patches which are highly dissimilar over a relatively large extent of their surroundings hold the property of being repeatable and distinctive. This concept of "contextual self-dissimilarity" reverses the key paradigm of recent successful techniques such as the Local Self-Similarity descriptor and the Non-Local Means filter, which build upon the presence of similar - rather than dissimilar - patches. Moreover, it extends to contextual information the local self-dissimilarity notion embedded in established detectors of corner-like interest points, thereby achieving enhanced repeatability, distinctiveness and localization accuracy.

Member Function Documentation

◆ create()

static Ptr< MSDDetector > cv::xfeatures2d::MSDDetector::create ( int  m_patch_radius = 3,
int  m_search_area_radius = 5,
int  m_nms_radius = 5,
int  m_nms_scale_radius = 0,
float  m_th_saliency = 250.0f,
int  m_kNN = 4,
float  m_scale_factor = 1.25f,
int  m_n_scales = -1,
bool  m_compute_orientation = false 
)
static

◆ getComputeOrientation()

virtual bool cv::xfeatures2d::MSDDetector::getComputeOrientation ( ) const
pure virtual

◆ getDefaultName()

String cv::xfeatures2d::MSDDetector::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.

◆ getKNN()

virtual int cv::xfeatures2d::MSDDetector::getKNN ( ) const
pure virtual

◆ getNmsRadius()

virtual int cv::xfeatures2d::MSDDetector::getNmsRadius ( ) const
pure virtual

◆ getNmsScaleRadius()

virtual int cv::xfeatures2d::MSDDetector::getNmsScaleRadius ( ) const
pure virtual

◆ getNScales()

virtual int cv::xfeatures2d::MSDDetector::getNScales ( ) const
pure virtual

◆ getPatchRadius()

virtual int cv::xfeatures2d::MSDDetector::getPatchRadius ( ) const
pure virtual

◆ getScaleFactor()

virtual float cv::xfeatures2d::MSDDetector::getScaleFactor ( ) const
pure virtual

◆ getSearchAreaRadius()

virtual int cv::xfeatures2d::MSDDetector::getSearchAreaRadius ( ) const
pure virtual

◆ getThSaliency()

virtual float cv::xfeatures2d::MSDDetector::getThSaliency ( ) const
pure virtual

◆ setComputeOrientation()

virtual void cv::xfeatures2d::MSDDetector::setComputeOrientation ( bool  compute_orientation)
pure virtual

◆ setKNN()

virtual void cv::xfeatures2d::MSDDetector::setKNN ( int  kNN)
pure virtual

◆ setNmsRadius()

virtual void cv::xfeatures2d::MSDDetector::setNmsRadius ( int  nms_radius)
pure virtual

◆ setNmsScaleRadius()

virtual void cv::xfeatures2d::MSDDetector::setNmsScaleRadius ( int  nms_scale_radius)
pure virtual

◆ setNScales()

virtual void cv::xfeatures2d::MSDDetector::setNScales ( int  use_orientation)
pure virtual

◆ setPatchRadius()

virtual void cv::xfeatures2d::MSDDetector::setPatchRadius ( int  patch_radius)
pure virtual

◆ setScaleFactor()

virtual void cv::xfeatures2d::MSDDetector::setScaleFactor ( float  scale_factor)
pure virtual

◆ setSearchAreaRadius()

virtual void cv::xfeatures2d::MSDDetector::setSearchAreaRadius ( int  use_orientation)
pure virtual

◆ setThSaliency()

virtual void cv::xfeatures2d::MSDDetector::setThSaliency ( float  th_saliency)
pure virtual

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