Path: blob/master/modules/features2d/src/kaze/KAZEFeatures.h
16337 views
1/**2* @file KAZE.h3* @brief Main program for detecting and computing descriptors in a nonlinear4* scale space5* @date Jan 21, 20126* @author Pablo F. Alcantarilla7*/89#ifndef __OPENCV_FEATURES_2D_KAZE_FEATURES_H__10#define __OPENCV_FEATURES_2D_KAZE_FEATURES_H__1112/* ************************************************************************* */13// Includes14#include "KAZEConfig.h"15#include "nldiffusion_functions.h"16#include "fed.h"17#include "TEvolution.h"1819namespace cv20{2122/* ************************************************************************* */23// KAZE Class Declaration24class KAZEFeatures25{26private:2728/// Parameters of the Nonlinear diffusion class29KAZEOptions options_; ///< Configuration options for KAZE30std::vector<TEvolution> evolution_; ///< Vector of nonlinear diffusion evolution3132/// Vector of keypoint vectors for finding extrema in multiple threads33std::vector<std::vector<cv::KeyPoint> > kpts_par_;3435/// FED parameters36int ncycles_; ///< Number of cycles37bool reordering_; ///< Flag for reordering time steps38std::vector<std::vector<float > > tsteps_; ///< Vector of FED dynamic time steps39std::vector<int> nsteps_; ///< Vector of number of steps per cycle4041public:4243/// Constructor44KAZEFeatures(KAZEOptions& options);4546/// Public methods for KAZE interface47void Allocate_Memory_Evolution(void);48int Create_Nonlinear_Scale_Space(const cv::Mat& img);49void Feature_Detection(std::vector<cv::KeyPoint>& kpts);50void Feature_Description(std::vector<cv::KeyPoint>& kpts, cv::Mat& desc);51static void Compute_Main_Orientation(cv::KeyPoint& kpt, const std::vector<TEvolution>& evolution_, const KAZEOptions& options);5253/// Feature Detection Methods54void Compute_KContrast(const cv::Mat& img, const float& kper);55void Compute_Multiscale_Derivatives(void);56void Compute_Detector_Response(void);57void Determinant_Hessian(std::vector<cv::KeyPoint>& kpts);58void Do_Subpixel_Refinement(std::vector<cv::KeyPoint>& kpts);59};6061}6263#endif646566