123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- #ifndef __OPENCV_XFEATURES2D_HPP__
- #define __OPENCV_XFEATURES2D_HPP__
- #include "opencv2/features2d.hpp"
- #include "opencv2/xfeatures2d/nonfree.hpp"
- namespace cv
- {
- namespace xfeatures2d
- {
- class CV_EXPORTS_W FREAK : public Feature2D
- {
- public:
- enum
- {
- NB_SCALES = 64, NB_PAIRS = 512, NB_ORIENPAIRS = 45
- };
-
- CV_WRAP static Ptr<FREAK> create(bool orientationNormalized = true,
- bool scaleNormalized = true,
- float patternScale = 22.0f,
- int nOctaves = 4,
- const std::vector<int>& selectedPairs = std::vector<int>());
- };
- class CV_EXPORTS_W StarDetector : public Feature2D
- {
- public:
-
- CV_WRAP static Ptr<StarDetector> create(int maxSize=45, int responseThreshold=30,
- int lineThresholdProjected=10,
- int lineThresholdBinarized=8,
- int suppressNonmaxSize=5);
- };
- class CV_EXPORTS_W BriefDescriptorExtractor : public Feature2D
- {
- public:
- CV_WRAP static Ptr<BriefDescriptorExtractor> create( int bytes = 32, bool use_orientation = false );
- };
- class CV_EXPORTS_W LUCID : public Feature2D
- {
- public:
-
- CV_WRAP static Ptr<LUCID> create(const int lucid_kernel, const int blur_kernel);
- };
- class CV_EXPORTS_W LATCH : public Feature2D
- {
- public:
- CV_WRAP static Ptr<LATCH> create(int bytes = 32, bool rotationInvariance = true, int half_ssd_size=3);
- };
- class CV_EXPORTS_W DAISY : public Feature2D
- {
- public:
- enum
- {
- NRM_NONE = 100, NRM_PARTIAL = 101, NRM_FULL = 102, NRM_SIFT = 103,
- };
- CV_WRAP static Ptr<DAISY> create( float radius = 15, int q_radius = 3, int q_theta = 8,
- int q_hist = 8, int norm = DAISY::NRM_NONE, InputArray H = noArray(),
- bool interpolation = true, bool use_orientation = false );
-
- virtual void compute( InputArray image, std::vector<KeyPoint>& keypoints, OutputArray descriptors ) = 0;
- virtual void compute( InputArrayOfArrays images,
- std::vector<std::vector<KeyPoint> >& keypoints,
- OutputArrayOfArrays descriptors );
-
- virtual void compute( InputArray image, Rect roi, OutputArray descriptors ) = 0;
-
- virtual void compute( InputArray image, OutputArray descriptors ) = 0;
-
- virtual void GetDescriptor( double y, double x, int orientation, float* descriptor ) const = 0;
-
- virtual bool GetDescriptor( double y, double x, int orientation, float* descriptor, double* H ) const = 0;
-
- virtual void GetUnnormalizedDescriptor( double y, double x, int orientation, float* descriptor ) const = 0;
-
- virtual bool GetUnnormalizedDescriptor( double y, double x, int orientation, float* descriptor , double *H ) const = 0;
- };
- class CV_EXPORTS_W MSDDetector : public Feature2D {
- public:
- static Ptr<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);
- };
- }
- }
- #endif
|