Home | History | Annotate | Download | only in kaze
      1 /**
      2  * @file AKAZEConfig.h
      3  * @brief AKAZE configuration file
      4  * @date Feb 23, 2014
      5  * @author Pablo F. Alcantarilla, Jesus Nuevo
      6  */
      7 
      8 #ifndef __OPENCV_FEATURES_2D_AKAZE_CONFIG_H__
      9 #define __OPENCV_FEATURES_2D_AKAZE_CONFIG_H__
     10 
     11 namespace cv
     12 {
     13 /* ************************************************************************* */
     14 /// AKAZE configuration options structure
     15 struct AKAZEOptions {
     16 
     17     AKAZEOptions()
     18         : omax(4)
     19         , nsublevels(4)
     20         , img_width(0)
     21         , img_height(0)
     22         , soffset(1.6f)
     23         , derivative_factor(1.5f)
     24         , sderivatives(1.0)
     25         , diffusivity(KAZE::DIFF_PM_G2)
     26 
     27         , dthreshold(0.001f)
     28         , min_dthreshold(0.00001f)
     29 
     30         , descriptor(AKAZE::DESCRIPTOR_MLDB)
     31         , descriptor_size(0)
     32         , descriptor_channels(3)
     33         , descriptor_pattern_size(10)
     34 
     35         , kcontrast(0.001f)
     36         , kcontrast_percentile(0.7f)
     37         , kcontrast_nbins(300)
     38     {
     39     }
     40 
     41     int omax;                       ///< Maximum octave evolution of the image 2^sigma (coarsest scale sigma units)
     42     int nsublevels;                 ///< Default number of sublevels per scale level
     43     int img_width;                  ///< Width of the input image
     44     int img_height;                 ///< Height of the input image
     45     float soffset;                  ///< Base scale offset (sigma units)
     46     float derivative_factor;        ///< Factor for the multiscale derivatives
     47     float sderivatives;             ///< Smoothing factor for the derivatives
     48     int diffusivity;   ///< Diffusivity type
     49 
     50     float dthreshold;               ///< Detector response threshold to accept point
     51     float min_dthreshold;           ///< Minimum detector threshold to accept a point
     52 
     53     int descriptor;     ///< Type of descriptor
     54     int descriptor_size;            ///< Size of the descriptor in bits. 0->Full size
     55     int descriptor_channels;        ///< Number of channels in the descriptor (1, 2, 3)
     56     int descriptor_pattern_size;    ///< Actual patch size is 2*pattern_size*point.scale
     57 
     58     float kcontrast;                ///< The contrast factor parameter
     59     float kcontrast_percentile;     ///< Percentile level for the contrast factor
     60     int kcontrast_nbins;            ///< Number of bins for the contrast factor histogram
     61 };
     62 
     63 }
     64 
     65 #endif
     66