features2d: apply CV_OVERRIDE/CV_FINAL

This commit is contained in:
Alexander Alekhin
2018-03-15 16:16:54 +03:00
parent 8f0669c300
commit 0854dc3320
14 changed files with 173 additions and 173 deletions
+8 -8
View File
@@ -7941,14 +7941,14 @@ void AGAST(InputArray _img, std::vector<KeyPoint>& keypoints, int threshold, boo
AGAST(_img, keypoints, threshold, nonmax_suppression, AgastFeatureDetector::OAST_9_16);
}
class AgastFeatureDetector_Impl : public AgastFeatureDetector
class AgastFeatureDetector_Impl CV_FINAL : public AgastFeatureDetector
{
public:
AgastFeatureDetector_Impl( int _threshold, bool _nonmaxSuppression, int _type )
: threshold(_threshold), nonmaxSuppression(_nonmaxSuppression), type((short)_type)
{}
void detect( InputArray _image, std::vector<KeyPoint>& keypoints, InputArray _mask )
void detect( InputArray _image, std::vector<KeyPoint>& keypoints, InputArray _mask ) CV_OVERRIDE
{
CV_INSTRUMENT_REGION()
@@ -7986,14 +7986,14 @@ public:
return 0;
}
void setThreshold(int threshold_) { threshold = threshold_; }
int getThreshold() const { return threshold; }
void setThreshold(int threshold_) CV_OVERRIDE { threshold = threshold_; }
int getThreshold() const CV_OVERRIDE { return threshold; }
void setNonmaxSuppression(bool f) { nonmaxSuppression = f; }
bool getNonmaxSuppression() const { return nonmaxSuppression; }
void setNonmaxSuppression(bool f) CV_OVERRIDE { nonmaxSuppression = f; }
bool getNonmaxSuppression() const CV_OVERRIDE { return nonmaxSuppression; }
void setType(int type_) { type = type_; }
int getType() const { return type; }
void setType(int type_) CV_OVERRIDE { type = type_; }
int getType() const CV_OVERRIDE { return type; }
int threshold;
bool nonmaxSuppression;
+21 -21
View File
@@ -72,34 +72,34 @@ namespace cv
{
}
virtual ~AKAZE_Impl()
virtual ~AKAZE_Impl() CV_OVERRIDE
{
}
void setDescriptorType(int dtype) { descriptor = dtype; }
int getDescriptorType() const { return descriptor; }
void setDescriptorType(int dtype) CV_OVERRIDE { descriptor = dtype; }
int getDescriptorType() const CV_OVERRIDE { return descriptor; }
void setDescriptorSize(int dsize) { descriptor_size = dsize; }
int getDescriptorSize() const { return descriptor_size; }
void setDescriptorSize(int dsize) CV_OVERRIDE { descriptor_size = dsize; }
int getDescriptorSize() const CV_OVERRIDE { return descriptor_size; }
void setDescriptorChannels(int dch) { descriptor_channels = dch; }
int getDescriptorChannels() const { return descriptor_channels; }
void setDescriptorChannels(int dch) CV_OVERRIDE { descriptor_channels = dch; }
int getDescriptorChannels() const CV_OVERRIDE { return descriptor_channels; }
void setThreshold(double threshold_) { threshold = (float)threshold_; }
double getThreshold() const { return threshold; }
void setThreshold(double threshold_) CV_OVERRIDE { threshold = (float)threshold_; }
double getThreshold() const CV_OVERRIDE { return threshold; }
void setNOctaves(int octaves_) { octaves = octaves_; }
int getNOctaves() const { return octaves; }
void setNOctaves(int octaves_) CV_OVERRIDE { octaves = octaves_; }
int getNOctaves() const CV_OVERRIDE { return octaves; }
void setNOctaveLayers(int octaveLayers_) { sublevels = octaveLayers_; }
int getNOctaveLayers() const { return sublevels; }
void setNOctaveLayers(int octaveLayers_) CV_OVERRIDE { sublevels = octaveLayers_; }
int getNOctaveLayers() const CV_OVERRIDE { return sublevels; }
void setDiffusivity(int diff_) { diffusivity = diff_; }
int getDiffusivity() const { return diffusivity; }
void setDiffusivity(int diff_) CV_OVERRIDE { diffusivity = diff_; }
int getDiffusivity() const CV_OVERRIDE { return diffusivity; }
// returns the descriptor size in bytes
int descriptorSize() const
int descriptorSize() const CV_OVERRIDE
{
switch (descriptor)
{
@@ -127,7 +127,7 @@ namespace cv
}
// returns the descriptor type
int descriptorType() const
int descriptorType() const CV_OVERRIDE
{
switch (descriptor)
{
@@ -145,7 +145,7 @@ namespace cv
}
// returns the default norm type
int defaultNorm() const
int defaultNorm() const CV_OVERRIDE
{
switch (descriptor)
{
@@ -165,7 +165,7 @@ namespace cv
void detectAndCompute(InputArray image, InputArray mask,
std::vector<KeyPoint>& keypoints,
OutputArray descriptors,
bool useProvidedKeypoints)
bool useProvidedKeypoints) CV_OVERRIDE
{
CV_INSTRUMENT_REGION()
@@ -204,7 +204,7 @@ namespace cv
}
}
void write(FileStorage& fs) const
void write(FileStorage& fs) const CV_OVERRIDE
{
writeFormat(fs);
fs << "descriptor" << descriptor;
@@ -216,7 +216,7 @@ namespace cv
fs << "diffusivity" << diffusivity;
}
void read(const FileNode& fn)
void read(const FileNode& fn) CV_OVERRIDE
{
descriptor = (int)fn["descriptor"];
descriptor_channels = (int)fn["descriptor_channels"];
+3 -3
View File
@@ -64,8 +64,8 @@ public:
explicit SimpleBlobDetectorImpl(const SimpleBlobDetector::Params &parameters = SimpleBlobDetector::Params());
virtual void read( const FileNode& fn );
virtual void write( FileStorage& fs ) const;
virtual void read( const FileNode& fn ) CV_OVERRIDE;
virtual void write( FileStorage& fs ) const CV_OVERRIDE;
protected:
struct CV_EXPORTS Center
@@ -75,7 +75,7 @@ protected:
double confidence;
};
virtual void detect( InputArray image, std::vector<KeyPoint>& keypoints, InputArray mask=noArray() );
virtual void detect( InputArray image, std::vector<KeyPoint>& keypoints, InputArray mask=noArray() ) CV_OVERRIDE;
virtual void findBlobs(InputArray image, InputArray binaryImage, std::vector<Center> &centers) const;
Params params;
+8 -8
View File
@@ -51,7 +51,7 @@
namespace cv
{
class BRISK_Impl : public BRISK
class BRISK_Impl CV_FINAL : public BRISK
{
public:
explicit BRISK_Impl(int thresh=30, int octaves=3, float patternScale=1.0f);
@@ -65,17 +65,17 @@ public:
virtual ~BRISK_Impl();
int descriptorSize() const
int descriptorSize() const CV_OVERRIDE
{
return strings_;
}
int descriptorType() const
int descriptorType() const CV_OVERRIDE
{
return CV_8U;
}
int defaultNorm() const
int defaultNorm() const CV_OVERRIDE
{
return NORM_HAMMING;
}
@@ -90,7 +90,7 @@ public:
void detectAndCompute( InputArray image, InputArray mask,
CV_OUT std::vector<KeyPoint>& keypoints,
OutputArray descriptors,
bool useProvidedKeypoints );
bool useProvidedKeypoints ) CV_OVERRIDE;
protected:
@@ -151,11 +151,11 @@ private:
// a layer in the Brisk detector pyramid
class CV_EXPORTS BriskLayer
class BriskLayer
{
public:
// constructor arguments
struct CV_EXPORTS CommonParams
struct CommonParams
{
static const int HALFSAMPLE = 0;
static const int TWOTHIRDSAMPLE = 1;
@@ -223,7 +223,7 @@ private:
int pixel_9_16_[25];
};
class CV_EXPORTS BriskScaleSpace
class BriskScaleSpace
{
public:
// construct telling the octaves number:
+3 -3
View File
@@ -50,7 +50,7 @@ namespace cv
namespace opt_AVX2
{
class FAST_t_patternSize16_AVX2_Impl: public FAST_t_patternSize16_AVX2
class FAST_t_patternSize16_AVX2_Impl CV_FINAL: public FAST_t_patternSize16_AVX2
{
public:
FAST_t_patternSize16_AVX2_Impl(int _cols, int _threshold, bool _nonmax_suppression, const int* _pixel):
@@ -61,7 +61,7 @@ public:
threshold = std::min(std::max(_threshold, 0), 255);
}
virtual void process(int &j, const uchar* &ptr, uchar* curr, int* cornerpos, int &ncorners)
virtual void process(int &j, const uchar* &ptr, uchar* curr, int* cornerpos, int &ncorners) CV_OVERRIDE
{
static const __m256i delta256 = _mm256_broadcastsi128_si256(_mm_set1_epi8((char)(-128))), K16_256 = _mm256_broadcastsi128_si256(_mm_set1_epi8((char)8));
const __m256i t256 = _mm256_broadcastsi128_si256(_mm_set1_epi8(t256c));
@@ -165,7 +165,7 @@ public:
_mm256_zeroupper();
}
virtual ~FAST_t_patternSize16_AVX2_Impl() {};
virtual ~FAST_t_patternSize16_AVX2_Impl() CV_OVERRIDE {};
private:
int cols;
+8 -8
View File
@@ -515,14 +515,14 @@ void FAST(InputArray _img, std::vector<KeyPoint>& keypoints, int threshold, bool
}
class FastFeatureDetector_Impl : public FastFeatureDetector
class FastFeatureDetector_Impl CV_FINAL : public FastFeatureDetector
{
public:
FastFeatureDetector_Impl( int _threshold, bool _nonmaxSuppression, int _type )
: threshold(_threshold), nonmaxSuppression(_nonmaxSuppression), type((short)_type)
{}
void detect( InputArray _image, std::vector<KeyPoint>& keypoints, InputArray _mask )
void detect( InputArray _image, std::vector<KeyPoint>& keypoints, InputArray _mask ) CV_OVERRIDE
{
CV_INSTRUMENT_REGION()
@@ -563,14 +563,14 @@ public:
return 0;
}
void setThreshold(int threshold_) { threshold = threshold_; }
int getThreshold() const { return threshold; }
void setThreshold(int threshold_) CV_OVERRIDE { threshold = threshold_; }
int getThreshold() const CV_OVERRIDE { return threshold; }
void setNonmaxSuppression(bool f) { nonmaxSuppression = f; }
bool getNonmaxSuppression() const { return nonmaxSuppression; }
void setNonmaxSuppression(bool f) CV_OVERRIDE { nonmaxSuppression = f; }
bool getNonmaxSuppression() const CV_OVERRIDE { return nonmaxSuppression; }
void setType(int type_) { type = type_; }
int getType() const { return type; }
void setType(int type_) CV_OVERRIDE { type = type_; }
int getType() const CV_OVERRIDE { return type; }
int threshold;
bool nonmaxSuppression;
+16 -16
View File
@@ -44,7 +44,7 @@
namespace cv
{
class GFTTDetector_Impl : public GFTTDetector
class GFTTDetector_Impl CV_FINAL : public GFTTDetector
{
public:
GFTTDetector_Impl( int _nfeatures, double _qualityLevel,
@@ -55,28 +55,28 @@ public:
{
}
void setMaxFeatures(int maxFeatures) { nfeatures = maxFeatures; }
int getMaxFeatures() const { return nfeatures; }
void setMaxFeatures(int maxFeatures) CV_OVERRIDE { nfeatures = maxFeatures; }
int getMaxFeatures() const CV_OVERRIDE { return nfeatures; }
void setQualityLevel(double qlevel) { qualityLevel = qlevel; }
double getQualityLevel() const { return qualityLevel; }
void setQualityLevel(double qlevel) CV_OVERRIDE { qualityLevel = qlevel; }
double getQualityLevel() const CV_OVERRIDE { return qualityLevel; }
void setMinDistance(double minDistance_) { minDistance = minDistance_; }
double getMinDistance() const { return minDistance; }
void setMinDistance(double minDistance_) CV_OVERRIDE { minDistance = minDistance_; }
double getMinDistance() const CV_OVERRIDE { return minDistance; }
void setBlockSize(int blockSize_) { blockSize = blockSize_; }
int getBlockSize() const { return blockSize; }
void setBlockSize(int blockSize_) CV_OVERRIDE { blockSize = blockSize_; }
int getBlockSize() const CV_OVERRIDE { return blockSize; }
void setGradientSize(int gradientSize_) { gradSize = gradientSize_; }
int getGradientSize() { return gradSize; }
//void setGradientSize(int gradientSize_) { gradSize = gradientSize_; }
//int getGradientSize() { return gradSize; }
void setHarrisDetector(bool val) { useHarrisDetector = val; }
bool getHarrisDetector() const { return useHarrisDetector; }
void setHarrisDetector(bool val) CV_OVERRIDE { useHarrisDetector = val; }
bool getHarrisDetector() const CV_OVERRIDE { return useHarrisDetector; }
void setK(double k_) { k = k_; }
double getK() const { return k; }
void setK(double k_) CV_OVERRIDE { k = k_; }
double getK() const CV_OVERRIDE { return k; }
void detect( InputArray _image, std::vector<KeyPoint>& keypoints, InputArray _mask )
void detect( InputArray _image, std::vector<KeyPoint>& keypoints, InputArray _mask ) CV_OVERRIDE
{
CV_INSTRUMENT_REGION()
+20 -20
View File
@@ -53,7 +53,7 @@ http://www.robesafe.com/personal/pablo.alcantarilla/papers/Alcantarilla12eccv.pd
namespace cv
{
class KAZE_Impl : public KAZE
class KAZE_Impl CV_FINAL : public KAZE
{
public:
KAZE_Impl(bool _extended, bool _upright, float _threshold, int _octaves,
@@ -67,40 +67,40 @@ namespace cv
{
}
virtual ~KAZE_Impl() {}
virtual ~KAZE_Impl() CV_OVERRIDE {}
void setExtended(bool extended_) { extended = extended_; }
bool getExtended() const { return extended; }
void setExtended(bool extended_) CV_OVERRIDE { extended = extended_; }
bool getExtended() const CV_OVERRIDE { return extended; }
void setUpright(bool upright_) { upright = upright_; }
bool getUpright() const { return upright; }
void setUpright(bool upright_) CV_OVERRIDE { upright = upright_; }
bool getUpright() const CV_OVERRIDE { return upright; }
void setThreshold(double threshold_) { threshold = (float)threshold_; }
double getThreshold() const { return threshold; }
void setThreshold(double threshold_) CV_OVERRIDE { threshold = (float)threshold_; }
double getThreshold() const CV_OVERRIDE { return threshold; }
void setNOctaves(int octaves_) { octaves = octaves_; }
int getNOctaves() const { return octaves; }
void setNOctaves(int octaves_) CV_OVERRIDE { octaves = octaves_; }
int getNOctaves() const CV_OVERRIDE { return octaves; }
void setNOctaveLayers(int octaveLayers_) { sublevels = octaveLayers_; }
int getNOctaveLayers() const { return sublevels; }
void setNOctaveLayers(int octaveLayers_) CV_OVERRIDE { sublevels = octaveLayers_; }
int getNOctaveLayers() const CV_OVERRIDE { return sublevels; }
void setDiffusivity(int diff_) { diffusivity = diff_; }
int getDiffusivity() const { return diffusivity; }
void setDiffusivity(int diff_) CV_OVERRIDE { diffusivity = diff_; }
int getDiffusivity() const CV_OVERRIDE { return diffusivity; }
// returns the descriptor size in bytes
int descriptorSize() const
int descriptorSize() const CV_OVERRIDE
{
return extended ? 128 : 64;
}
// returns the descriptor type
int descriptorType() const
int descriptorType() const CV_OVERRIDE
{
return CV_32F;
}
// returns the default norm type
int defaultNorm() const
int defaultNorm() const CV_OVERRIDE
{
return NORM_L2;
}
@@ -108,7 +108,7 @@ namespace cv
void detectAndCompute(InputArray image, InputArray mask,
std::vector<KeyPoint>& keypoints,
OutputArray descriptors,
bool useProvidedKeypoints)
bool useProvidedKeypoints) CV_OVERRIDE
{
CV_INSTRUMENT_REGION()
@@ -160,7 +160,7 @@ namespace cv
}
}
void write(FileStorage& fs) const
void write(FileStorage& fs) const CV_OVERRIDE
{
writeFormat(fs);
fs << "extended" << (int)extended;
@@ -171,7 +171,7 @@ namespace cv
fs << "diffusivity" << diffusivity;
}
void read(const FileNode& fn)
void read(const FileNode& fn) CV_OVERRIDE
{
extended = (int)fn["extended"] != 0;
upright = (int)fn["upright"] != 0;
+12 -12
View File
@@ -237,7 +237,7 @@ public:
: Lt_(&Lt), Lf_(&Lf), Lstep_(&Lstep), step_size_(step_size)
{}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
nld_step_scalar_one_lane(*Lt_, *Lf_, *Lstep_, step_size_, range.start, range.end);
}
@@ -603,7 +603,7 @@ public:
{
}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
MatType Lxx, Lxy, Lyy;
@@ -725,7 +725,7 @@ public:
: evolution_(&ev), keypoints_by_layers_(&kpts), dthreshold_(dthreshold)
{}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -948,7 +948,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -974,7 +974,7 @@ public:
{
}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1000,7 +1000,7 @@ public:
{
}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1026,7 +1026,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1053,7 +1053,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1088,7 +1088,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1119,7 +1119,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1158,7 +1158,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
@@ -1448,7 +1448,7 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
for (int i = range.start; i < range.end; i++)
{
+6 -6
View File
@@ -196,7 +196,7 @@ public:
{
}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
std::vector<TEvolution>& evolution = *evolution_;
for (int i = range.start; i < range.end; i++)
@@ -239,7 +239,7 @@ public:
{
}
void operator()(const Range& range) const
void operator()(const Range& range) const CV_OVERRIDE
{
std::vector<TEvolution>& evolution = *evolution_;
std::vector<std::vector<KeyPoint> >& kpts_par = *kpts_par_;
@@ -503,11 +503,11 @@ public:
{
}
void operator() (const Range& range) const
void operator() (const Range& range) const CV_OVERRIDE
{
std::vector<KeyPoint> &kpts = *kpts_;
Mat &desc = *desc_;
std::vector<TEvolution> &evolution = *evolution_;
std::vector<KeyPoint> &kpts = *kpts_;
Mat &desc = *desc_;
std::vector<TEvolution> &evolution = *evolution_;
for (int i = range.start; i < range.end; i++)
{
@@ -378,7 +378,7 @@ public:
}
void operator()(const cv::Range& range) const
void operator()(const cv::Range& range) const CV_OVERRIDE
{
cv::Mat& Ld = *_Ld;
const cv::Mat& c = *_c;
+12 -12
View File
@@ -48,7 +48,7 @@ namespace cv
using std::vector;
class MSER_Impl : public MSER
class MSER_Impl CV_FINAL : public MSER
{
public:
struct Params
@@ -85,19 +85,19 @@ public:
explicit MSER_Impl(const Params& _params) : params(_params) {}
virtual ~MSER_Impl() {}
virtual ~MSER_Impl() CV_OVERRIDE {}
void setDelta(int delta) { params.delta = delta; }
int getDelta() const { return params.delta; }
void setDelta(int delta) CV_OVERRIDE { params.delta = delta; }
int getDelta() const CV_OVERRIDE { return params.delta; }
void setMinArea(int minArea) { params.minArea = minArea; }
int getMinArea() const { return params.minArea; }
void setMinArea(int minArea) CV_OVERRIDE { params.minArea = minArea; }
int getMinArea() const CV_OVERRIDE { return params.minArea; }
void setMaxArea(int maxArea) { params.maxArea = maxArea; }
int getMaxArea() const { return params.maxArea; }
void setMaxArea(int maxArea) CV_OVERRIDE { params.maxArea = maxArea; }
int getMaxArea() const CV_OVERRIDE { return params.maxArea; }
void setPass2Only(bool f) { params.pass2Only = f; }
bool getPass2Only() const { return params.pass2Only; }
void setPass2Only(bool f) CV_OVERRIDE { params.pass2Only = f; }
bool getPass2Only() const CV_OVERRIDE { return params.pass2Only; }
enum { DIR_SHIFT = 29, NEXT_MASK = ((1<<DIR_SHIFT)-1) };
@@ -364,8 +364,8 @@ public:
void detectRegions( InputArray image,
std::vector<std::vector<Point> >& msers,
std::vector<Rect>& bboxes );
void detect( InputArray _src, vector<KeyPoint>& keypoints, InputArray _mask );
std::vector<Rect>& bboxes ) CV_OVERRIDE;
void detect( InputArray _src, vector<KeyPoint>& keypoints, InputArray _mask ) CV_OVERRIDE;
void preprocess1( const Mat& img, int* level_size )
{
+23 -23
View File
@@ -651,7 +651,7 @@ static inline float getScale(int level, int firstLevel, double scaleFactor)
}
class ORB_Impl : public ORB
class ORB_Impl CV_FINAL : public ORB
{
public:
explicit ORB_Impl(int _nfeatures, float _scaleFactor, int _nlevels, int _edgeThreshold,
@@ -661,43 +661,43 @@ public:
scoreType(_scoreType), patchSize(_patchSize), fastThreshold(_fastThreshold)
{}
void setMaxFeatures(int maxFeatures) { nfeatures = maxFeatures; }
int getMaxFeatures() const { return nfeatures; }
void setMaxFeatures(int maxFeatures) CV_OVERRIDE { nfeatures = maxFeatures; }
int getMaxFeatures() const CV_OVERRIDE { return nfeatures; }
void setScaleFactor(double scaleFactor_) { scaleFactor = scaleFactor_; }
double getScaleFactor() const { return scaleFactor; }
void setScaleFactor(double scaleFactor_) CV_OVERRIDE { scaleFactor = scaleFactor_; }
double getScaleFactor() const CV_OVERRIDE { return scaleFactor; }
void setNLevels(int nlevels_) { nlevels = nlevels_; }
int getNLevels() const { return nlevels; }
void setNLevels(int nlevels_) CV_OVERRIDE { nlevels = nlevels_; }
int getNLevels() const CV_OVERRIDE { return nlevels; }
void setEdgeThreshold(int edgeThreshold_) { edgeThreshold = edgeThreshold_; }
int getEdgeThreshold() const { return edgeThreshold; }
void setEdgeThreshold(int edgeThreshold_) CV_OVERRIDE { edgeThreshold = edgeThreshold_; }
int getEdgeThreshold() const CV_OVERRIDE { return edgeThreshold; }
void setFirstLevel(int firstLevel_) { CV_Assert(firstLevel_ >= 0); firstLevel = firstLevel_; }
int getFirstLevel() const { return firstLevel; }
void setFirstLevel(int firstLevel_) CV_OVERRIDE { CV_Assert(firstLevel_ >= 0); firstLevel = firstLevel_; }
int getFirstLevel() const CV_OVERRIDE { return firstLevel; }
void setWTA_K(int wta_k_) { wta_k = wta_k_; }
int getWTA_K() const { return wta_k; }
void setWTA_K(int wta_k_) CV_OVERRIDE { wta_k = wta_k_; }
int getWTA_K() const CV_OVERRIDE { return wta_k; }
void setScoreType(int scoreType_) { scoreType = scoreType_; }
int getScoreType() const { return scoreType; }
void setScoreType(int scoreType_) CV_OVERRIDE { scoreType = scoreType_; }
int getScoreType() const CV_OVERRIDE { return scoreType; }
void setPatchSize(int patchSize_) { patchSize = patchSize_; }
int getPatchSize() const { return patchSize; }
void setPatchSize(int patchSize_) CV_OVERRIDE { patchSize = patchSize_; }
int getPatchSize() const CV_OVERRIDE { return patchSize; }
void setFastThreshold(int fastThreshold_) { fastThreshold = fastThreshold_; }
int getFastThreshold() const { return fastThreshold; }
void setFastThreshold(int fastThreshold_) CV_OVERRIDE { fastThreshold = fastThreshold_; }
int getFastThreshold() const CV_OVERRIDE { return fastThreshold; }
// returns the descriptor size in bytes
int descriptorSize() const;
int descriptorSize() const CV_OVERRIDE;
// returns the descriptor type
int descriptorType() const;
int descriptorType() const CV_OVERRIDE;
// returns the default norm type
int defaultNorm() const;
int defaultNorm() const CV_OVERRIDE;
// Compute the ORB_Impl features and descriptors on an image
void detectAndCompute( InputArray image, InputArray mask, std::vector<KeyPoint>& keypoints,
OutputArray descriptors, bool useProvidedKeypoints=false );
OutputArray descriptors, bool useProvidedKeypoints=false ) CV_OVERRIDE;
protected: