43 #ifndef __OPENCV_FEATURES_2D_HPP__
44 #define __OPENCV_FEATURES_2D_HPP__
76 float _response=0,
int _octave=0,
int _class_id=-1)
78 response(_response), octave(_octave), class_id(_class_id) {}
80 CV_WRAP
KeyPoint(
float x,
float y,
float _size,
float _angle=-1,
81 float _response=0,
int _octave=0,
int _class_id=-1)
83 response(_response), octave(_octave), class_id(_class_id) {}
89 CV_OUT vector<Point2f>& points2f,
90 const vector<int>& keypointIndexes=vector<int>());
92 static void convert(
const vector<Point2f>& points2f,
93 CV_OUT vector<KeyPoint>& keypoints,
94 float size=1,
float response=1,
int octave=0,
int class_id=-1);
104 CV_PROP_RW
float response;
133 static void runByKeypointSize( vector<KeyPoint>&
keypoints,
float minSize,
134 float maxSize=FLT_MAX );
138 static void runByPixelsMask( vector<KeyPoint>&
keypoints,
const Mat&
mask );
142 static void removeDuplicated( vector<KeyPoint>&
keypoints );
176 void detect(
const vector<Mat>& images, vector<vector<KeyPoint> >& keypoints,
const vector<Mat>& masks=vector<Mat>() )
const;
179 CV_WRAP
virtual bool empty()
const;
185 virtual void detectImpl(
const Mat& image, vector<KeyPoint>& keypoints,
const Mat&
mask=
Mat() )
const = 0;
192 static void removeInvalidPoints(
const Mat&
mask, vector<KeyPoint>& keypoints );
225 void compute(
const vector<Mat>& images, vector<vector<KeyPoint> >& keypoints, vector<Mat>& descriptors )
const;
227 CV_WRAP
virtual int descriptorSize()
const = 0;
228 CV_WRAP
virtual int descriptorType()
const = 0;
230 CV_WRAP
virtual bool empty()
const;
235 virtual void computeImpl(
const Mat& image, vector<KeyPoint>& keypoints,
Mat& descriptors )
const = 0;
240 static void removeBorderKeypoints( vector<KeyPoint>& keypoints,
264 bool useProvidedKeypoints=
false ) const = 0;
266 CV_WRAP
void compute( const
Mat& image, CV_OUT CV_IN_OUT std::vector<
KeyPoint>& keypoints, CV_OUT
Mat& descriptors ) const;
278 CV_WRAP
explicit BRISK(
int thresh=30,
int octaves=3,
float patternScale=1.0
f);
283 int descriptorSize()
const;
285 int descriptorType()
const;
292 OutputArray descriptors,
bool useProvidedKeypoints=
false )
const;
297 CV_WRAP
explicit BRISK(std::vector<float> &radiusList, std::vector<int> &numberList,
298 float dMax=5.85
f,
float dMin=8.2
f, std::vector<int> indexChange=std::vector<int>());
303 CV_WRAP
void generateKernel(std::vector<float> &radiusList,
304 std::vector<int> &numberList,
float dMax=5.85
f,
float dMin=8.2
f,
305 std::vector<int> indexChange=std::vector<int>());
309 void computeImpl(
const Mat& image, vector<KeyPoint>& keypoints,
Mat& descriptors )
const;
310 void detectImpl(
const Mat& image, vector<KeyPoint>& keypoints,
const Mat& mask=
Mat() )
const;
312 void computeKeypointsNoOrientation(
InputArray image,
InputArray mask, vector<KeyPoint>& keypoints)
const;
313 void computeDescriptorsAndOrOrientation(
InputArray image,
InputArray mask, vector<KeyPoint>& keypoints,
314 OutputArray descriptors,
bool doDescriptors,
bool doOrientation,
315 bool useProvidedKeypoints)
const;
337 inline int smoothedIntensity(
const cv::Mat& image,
339 const float key_y,
const unsigned int scale,
340 const unsigned int rot,
const unsigned int point)
const;
371 enum { kBytes = 32, HARRIS_SCORE=0, FAST_SCORE=1 };
373 CV_WRAP
explicit ORB(
int nfeatures = 500,
float scaleFactor = 1.2
f,
int nlevels = 8,
int edgeThreshold = 31,
374 int firstLevel = 0,
int WTA_K=2,
int scoreType=
ORB::HARRIS_SCORE,
int patchSize=31 );
377 int descriptorSize()
const;
379 int descriptorType()
const;
421 explicit FREAK(
bool orientationNormalized =
true,
422 bool scaleNormalized =
true,
423 float patternScale = 22.0
f,
425 const vector<int>& selectedPairs = vector<int>());
432 virtual int descriptorSize()
const;
435 virtual int descriptorType()
const;
444 vector<int> selectPairs(
const vector<Mat>& images, vector<vector<KeyPoint> >&
keypoints,
445 const double corrThresh = 0.7,
bool verbose =
true );
451 NB_SCALES = 64, NB_PAIRS = 512, NB_ORIENPAIRS = 45
458 const unsigned int scale,
const unsigned int rot,
const unsigned int point )
const;
492 int patternSizes[NB_SCALES];
511 CV_WRAP
explicit MSER(
int _delta=5,
int _min_area=60,
int _max_area=14400,
512 double _max_variation=0.25,
double _min_diversity=.2,
513 int _max_evolution=200,
double _area_threshold=1.01,
514 double _min_margin=0.003,
int _edge_blur_size=5 );
530 double areaThreshold;
546 CV_WRAP
StarDetector(
int _maxSize=45,
int _responseThreshold=30,
547 int _lineThresholdProjected=10,
548 int _lineThresholdBinarized=8,
549 int _suppressNonmaxSize=5);
552 CV_WRAP_AS(detect)
void operator()(
const Mat& image,
553 CV_OUT vector<KeyPoint>& keypoints)
const;
569 int threshold,
bool nonmaxSuppression=
true );
580 TYPE_5_8 = 0, TYPE_7_12 = 1, TYPE_9_16 = 2
597 CV_WRAP
GFTTDetector(
int maxCorners=1000,
double qualityLevel=0.01,
double minDistance=1,
598 int blockSize=3,
bool useHarrisDetector=
false,
double k=0.04 );
660 virtual void findBlobs(
const Mat &image,
const Mat &binaryImage, vector<Center> ¢ers)
const;
671 float featureScaleMul=0.1
f,
672 int initXyStep=6,
int initImgBound=0,
673 bool varyXyStepWithScale=
true,
674 bool varyImgBoundWithScale=
false );
706 int maxTotalKeypoints=1000,
707 int gridRows=4,
int gridCols=4 );
710 virtual bool empty()
const;
734 virtual bool empty()
const;
756 virtual void tooFew(
int min,
int n_detected) = 0;
761 virtual void tooMany(
int max,
int n_detected) = 0;
765 virtual bool good()
const = 0;
795 virtual bool empty()
const;
805 int min_features_, max_features_;
818 FastAdjuster(
int init_thresh=20,
bool nonmax=
true,
int min_thresh=1,
int max_thresh=200);
820 virtual void tooFew(
int minv,
int n_detected);
821 virtual void tooMany(
int maxv,
int n_detected);
822 virtual bool good()
const;
841 StarAdjuster(
double initial_thresh=30.0,
double min_thresh=2.,
double max_thresh=200.);
843 virtual void tooFew(
int minv,
int n_detected);
844 virtual void tooMany(
int maxv,
int n_detected);
845 virtual bool good()
const;
852 double thresh_, init_thresh_, min_thresh_, max_thresh_;
858 SurfAdjuster(
double initial_thresh=400.
f,
double min_thresh=2,
double max_thresh=1000 );
860 virtual void tooFew(
int minv,
int n_detected);
861 virtual void tooMany(
int maxv,
int n_detected);
862 virtual bool good()
const;
869 double thresh_, init_thresh_, min_thresh_, max_thresh_;
873 float maxDeltaX,
float maxDeltaY );
894 virtual int descriptorSize()
const;
895 virtual int descriptorType()
const;
897 virtual bool empty()
const;
911 static const int PATCH_SIZE = 48;
912 static const int KERNEL_SIZE = 9;
920 virtual int descriptorSize()
const;
921 virtual int descriptorType()
const;
930 typedef void(*PixelTestFn)(
const Mat&,
const vector<KeyPoint>&,
Mat&);
964 return normL2Sqr<ValueType, ResultType>(
a,
b,
size);
980 return (
ResultType)
sqrt((
double)normL2Sqr<ValueType, ResultType>(a, b, size));
996 return normL1<ValueType, ResultType>(
a,
b,
size);
1040 CV_WRAP
DMatch() : queryIdx(-1), trainIdx(-1), imgIdx(-1), distance(FLT_MAX) {}
1041 CV_WRAP
DMatch(
int _queryIdx,
int _trainIdx,
float _distance ) :
1042 queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(-1), distance(_distance) {}
1043 CV_WRAP
DMatch(
int _queryIdx,
int _trainIdx,
int _imgIdx,
float _distance ) :
1044 queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(_imgIdx), distance(_distance) {}
1078 CV_WRAP
const vector<Mat>& getTrainDescriptors()
const;
1082 CV_WRAP
virtual void clear();
1087 CV_WRAP
virtual bool empty()
const;
1091 CV_WRAP
virtual bool isMaskSupported()
const = 0;
1104 CV_WRAP
virtual void train();
1110 CV_WRAP
void match(
const Mat& queryDescriptors,
const Mat& trainDescriptors,
1111 CV_OUT vector<DMatch>& matches,
const Mat&
mask=
Mat() )
const;
1116 CV_WRAP
void knnMatch(
const Mat& queryDescriptors,
const Mat& trainDescriptors,
1117 CV_OUT vector<vector<DMatch> >& matches,
int k,
1118 const Mat&
mask=
Mat(),
bool compactResult=
false )
const;
1121 void radiusMatch(
const Mat& queryDescriptors,
const Mat& trainDescriptors,
1122 vector<vector<DMatch> >& matches,
float maxDistance,
1123 const Mat&
mask=
Mat(),
bool compactResult=
false )
const;
1128 CV_WRAP
void match(
const Mat& queryDescriptors, CV_OUT vector<DMatch>& matches,
1129 const vector<Mat>& masks=vector<Mat>() );
1130 CV_WRAP
void knnMatch(
const Mat& queryDescriptors, CV_OUT vector<vector<DMatch> >& matches,
int k,
1131 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1132 void radiusMatch(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
float maxDistance,
1133 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1159 void set(
const vector<Mat>& descriptors );
1160 virtual void clear();
1162 const Mat& getDescriptors()
const;
1163 const Mat getDescriptor(
int imgIdx,
int localDescIdx )
const;
1164 const Mat getDescriptor(
int globalDescIdx )
const;
1165 void getLocalIdx(
int globalDescIdx,
int& imgIdx,
int& localDescIdx )
const;
1177 virtual void knnMatchImpl(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
int k,
1178 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false ) = 0;
1179 virtual void radiusMatchImpl(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
float maxDistance,
1180 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false ) = 0;
1182 static bool isPossibleMatch(
const Mat&
mask,
int queryIdx,
int trainIdx );
1183 static bool isMaskedOut(
const vector<Mat>& masks,
int queryIdx );
1186 void checkMasks(
const vector<Mat>& masks,
int queryDescriptorsCount )
const;
1213 virtual void knnMatchImpl(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
int k,
1214 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1215 virtual void radiusMatchImpl(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
float maxDistance,
1216 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1232 virtual void add(
const vector<Mat>& descriptors );
1233 virtual void clear();
1236 virtual void read(
const FileNode& );
1240 virtual void train();
1241 virtual bool isMaskSupported()
const;
1247 static void convertToDMatches(
const DescriptorCollection& descriptors,
1249 vector<vector<DMatch> >& matches );
1251 virtual void knnMatchImpl(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
int k,
1252 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1253 virtual void radiusMatchImpl(
const Mat& queryDescriptors, vector<vector<DMatch> >& matches,
float maxDistance,
1254 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1289 virtual void add(
const vector<Mat>& images,
1292 const vector<Mat>& getTrainImages()
const;
1293 const vector<vector<KeyPoint> >& getTrainKeypoints()
const;
1298 virtual void clear();
1302 virtual bool isMaskSupported() = 0;
1308 virtual void train();
1318 void classify(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1319 const Mat& trainImage, vector<KeyPoint>& trainKeypoints )
const;
1321 void classify(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints );
1329 void match(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1330 const Mat& trainImage, vector<KeyPoint>& trainKeypoints,
1331 vector<DMatch>& matches,
const Mat&
mask=
Mat() )
const;
1336 void knnMatch(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1337 const Mat& trainImage, vector<KeyPoint>& trainKeypoints,
1338 vector<vector<DMatch> >& matches,
int k,
1339 const Mat&
mask=
Mat(),
bool compactResult=
false )
const;
1341 void radiusMatch(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1342 const Mat& trainImage, vector<KeyPoint>& trainKeypoints,
1343 vector<vector<DMatch> >& matches,
float maxDistance,
1344 const Mat&
mask=
Mat(),
bool compactResult=
false )
const;
1349 void match(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1350 vector<DMatch>& matches,
const vector<Mat>& masks=vector<Mat>() );
1351 void knnMatch(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1352 vector<vector<DMatch> >& matches,
int k,
1353 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1354 void radiusMatch(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1355 vector<vector<DMatch> >& matches,
float maxDistance,
1356 const vector<Mat>& masks=vector<Mat>(),
bool compactResult=
false );
1359 virtual void read(
const FileNode& fn );
1364 virtual bool empty()
const;
1372 const string ¶msFilename=
string() );
1378 virtual void knnMatchImpl(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1379 vector<vector<DMatch> >& matches,
int k,
1380 const vector<Mat>& masks,
bool compactResult ) = 0;
1381 virtual void radiusMatchImpl(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1382 vector<vector<DMatch> >& matches,
float maxDistance,
1383 const vector<Mat>& masks,
bool compactResult ) = 0;
1392 void add(
const vector<Mat>& images,
const vector<vector<KeyPoint> >&
keypoints );
1396 size_t keypointCount()
const;
1397 size_t imageCount()
const;
1399 const vector<vector<KeyPoint> >& getKeypoints()
const;
1400 const vector<KeyPoint>& getKeypoints(
int imgIdx )
const;
1401 const KeyPoint& getKeyPoint(
int imgIdx,
int localPointIdx )
const;
1402 const KeyPoint& getKeyPoint(
int globalPointIdx )
const;
1403 void getLocalIdx(
int globalPointIdx,
int& imgIdx,
int& localPointIdx )
const;
1405 const vector<Mat>& getImages()
const;
1406 const Mat& getImage(
int imgIdx )
const;
1440 virtual void add(
const vector<Mat>& imgCollection,
1441 vector<vector<KeyPoint> >& pointCollection );
1443 virtual void clear();
1445 virtual void train();
1447 virtual bool isMaskSupported();
1449 virtual void read(
const FileNode& fn );
1451 virtual bool empty()
const;
1456 virtual void knnMatchImpl(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1457 vector<vector<DMatch> >& matches,
int k,
1458 const vector<Mat>& masks,
bool compactResult );
1459 virtual void radiusMatchImpl(
const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
1460 vector<vector<DMatch> >& matches,
float maxDistance,
1461 const vector<Mat>& masks,
bool compactResult );
1477 DRAW_OVER_OUTIMG = 1,
1479 NOT_DRAW_SINGLE_POINTS = 2,
1480 DRAW_RICH_KEYPOINTS = 4
1490 CV_EXPORTS
void drawMatches(
const Mat& img1,
const vector<KeyPoint>& keypoints1,
1491 const Mat& img2,
const vector<KeyPoint>& keypoints2,
1492 const vector<DMatch>& matches1to2, Mat& outImg,
1496 CV_EXPORTS
void drawMatches(
const Mat& img1,
const vector<KeyPoint>& keypoints1,
1497 const Mat& img2,
const vector<KeyPoint>& keypoints2,
1498 const vector<vector<DMatch> >& matches1to2, Mat& outImg,
1507 vector<KeyPoint>* keypoints1, vector<KeyPoint>* keypoints2,
1508 float& repeatability,
int& correspCount,
1509 const Ptr<FeatureDetector>& fdetector=Ptr<FeatureDetector>() );
1512 const vector<vector<uchar> >& correctMatches1to2Mask,
1513 vector<Point2f>& recallPrecisionCurve );
1515 CV_EXPORTS
float getRecall(
const vector<Point2f>& recallPrecisionCurve,
float l_precision );
1516 CV_EXPORTS
int getNearestPoint(
const vector<Point2f>& recallPrecisionCurve,
float l_precision );
1519 vector<KeyPoint>& keypoints1, vector<KeyPoint>& keypoints2,
1520 vector<vector<DMatch> >* matches1to2, vector<vector<uchar> >* correctMatches1to2Mask,
1521 vector<Point2f>& recallPrecisionCurve,
1522 const Ptr<GenericDescriptorMatcher>& dmatch=Ptr<GenericDescriptorMatcher>() );
1537 void add(
const Mat& descriptors );
1538 const vector<Mat>& getDescriptors()
const;
1539 int descripotorsCount()
const;
1541 virtual void clear();
1550 virtual Mat cluster()
const = 0;
1551 virtual Mat cluster(
const Mat& descriptors )
const = 0;
1569 virtual Mat cluster()
const;
1570 virtual Mat cluster(
const Mat& descriptors )
const;
1590 void setVocabulary(
const Mat& vocabulary );
1591 const Mat& getVocabulary()
const;
1592 void compute(
const Mat& image, vector<KeyPoint>& keypoints,
Mat& imgDescriptor,
1593 vector<vector<int> >* pointIdxsOfClusters=0,
Mat* descriptors=0 );
1596 int descriptorSize()
const;
1597 int descriptorType()
const;
KeyPointsFilter()
Definition: features2d.hpp:124
int ResultType
Definition: features2d.hpp:1024
CV_PROP_RW int octaves
Definition: features2d.hpp:319
bool varyImgBoundWithScale
Definition: features2d.hpp:688
Point2d location
Definition: features2d.hpp:654
short float uchar uchar uchar uchar uchar ushort int uchar ushort int float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float int int int float int int int float int CV_CUDEV_IMPLEMENT_VEC_BINARY_OP char CV_CUDEV_IMPLEMENT_VEC_BINARY_OP ushort CV_CUDEV_IMPLEMENT_VEC_BINARY_OP short CV_CUDEV_IMPLEMENT_VEC_BINARY_OP int CV_CUDEV_IMPLEMENT_VEC_BINARY_OP uint CV_CUDEV_IMPLEMENT_VEC_BINARY_OP float CV_CUDEV_IMPLEMENT_VEC_BINARY_OP double char
Definition: vec_math.hpp:426
CV_PROP_RW float size
diameter of the meaningful keypoint neighborhood
Definition: features2d.hpp:102
static const float scalerange_
Definition: features2d.hpp:347
float sigma
Definition: features2d.hpp:325
CV_EXPORTS_W void sqrt(InputArray src, OutputArray dst)
computes square root of each matrix element (dst = src**0.5)
CvPoint2D32f pt[4]
Definition: imgproc_c.h:410
float dMax_
Definition: features2d.hpp:352
double initFeatureScale
Definition: features2d.hpp:680
GLenum GLint GLint y
Definition: core_c.h:613
uchar i
Definition: features2d.hpp:485
CV_PROP_RW Point2f pt
coordinates of the keypoints
Definition: features2d.hpp:101
CvFileNode * node
Definition: core_c.h:1638
CV_PROP_RW bool filterByCircularity
Definition: features2d.hpp:633
int initImgBound
Definition: features2d.hpp:685
bool operator<(const DMatch &m) const
Definition: features2d.hpp:1053
CV_PROP_RW float thresholdStep
Definition: features2d.hpp:621
int lineThresholdProjected
Definition: features2d.hpp:562
A feature detector parameter adjuster, this is used by the DynamicAdaptedFeatureDetector and is a wra...
Definition: features2d.hpp:746
CV_EXPORTS Mat windowedMatchingMask(const vector< KeyPoint > &keypoints1, const vector< KeyPoint > &keypoints2, float maxDeltaX, float maxDeltaY)
Termination criteria in iterative algorithms.
Definition: core.hpp:2091
int strings_
Definition: features2d.hpp:351
VectorDescriptorMatcher VectorDescriptorMatch
Definition: features2d.hpp:1431
Definition: features2d.hpp:1387
Definition: features2d.hpp:1201
int flags
Definition: features2d.hpp:1577
int size
Definition: features2d.hpp:1555
double confidence
Definition: features2d.hpp:656
double qualityLevel
Definition: features2d.hpp:605
Definition: features2d.hpp:1038
CV_PROP_RW float minThreshold
Definition: features2d.hpp:622
CV_PROP_RW size_t minRepeatability
Definition: features2d.hpp:624
CV_EXPORTS void evaluateFeatureDetector(const Mat &img1, const Mat &img2, const Mat &H1to2, vector< KeyPoint > *keypoints1, vector< KeyPoint > *keypoints2, float &repeatability, int &correspCount, const Ptr< FeatureDetector > &fdetector=Ptr< FeatureDetector >())
CV_EXPORTS void drawMatches(const Mat &img1, const vector< KeyPoint > &keypoints1, const Mat &img2, const vector< KeyPoint > &keypoints2, const vector< DMatch > &matches1to2, Mat &outImg, const Scalar &matchColor=Scalar::all(-1), const Scalar &singlePointColor=Scalar::all(-1), const vector< char > &matchesMask=vector< char >(), int flags=DrawMatchesFlags::DEFAULT)
int min_thresh_
Definition: features2d.hpp:831
Ptr< flann::IndexParams > indexParams
Definition: features2d.hpp:1256
CV_WRAP DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance)
Definition: features2d.hpp:1043
CV_PROP_RW float minDistBetweenBlobs
Definition: features2d.hpp:625
CV_EXPORTS float getRecall(const vector< Point2f > &recallPrecisionCurve, float l_precision)
CV_PROP_RW float minInertiaRatio
Definition: features2d.hpp:637
Mat clone() const
returns deep copy of the matrix, i.e. the data is copied
Definition: mat.hpp:332
uchar j
Definition: features2d.hpp:480
TermCriteria termcrit
Definition: features2d.hpp:1575
CV_PROP_RW int nfeatures
Definition: features2d.hpp:395
Definition: features2d.hpp:121
File Storage Node class.
Definition: core.hpp:4119
float Type
Definition: features2d.hpp:947
double minDistance
Definition: features2d.hpp:606
Definition: features2d.hpp:618
ResultType operator()(const unsigned char *a, const unsigned char *b, int size) const
Definition: features2d.hpp:1026
CV_EXPORTS void computeRecallPrecisionCurve(const vector< vector< DMatch > > &matches1to2, const vector< vector< uchar > > &correctMatches1to2Mask, vector< Point2f > &recallPrecisionCurve)
BRISK implementation.
Definition: features2d.hpp:275
int suppressNonmaxSize
Definition: features2d.hpp:564
CV_PROP_RW double scaleFactor
Definition: features2d.hpp:396
double patternScale0
Definition: features2d.hpp:466
CvPoint2D32f float float b
Definition: legacy.hpp:578
int gridCols
Definition: features2d.hpp:720
int clusterCount
Definition: features2d.hpp:1574
float Type
Definition: features2d.hpp:948
CvSize size
Definition: calib3d.hpp:212
GenericDescriptorMatcher GenericDescriptorMatch
Definition: features2d.hpp:1270
CV_WRAP DMatch(int _queryIdx, int _trainIdx, float _distance)
Definition: features2d.hpp:1041
CV_PROP_RW bool filterByInertia
Definition: features2d.hpp:636
Definition: features2d.hpp:1151
int gridRows
Definition: features2d.hpp:719
bool crossCheck
Definition: features2d.hpp:1219
int int int flags
Definition: highgui_c.h:186
float Type
Definition: features2d.hpp:950
virtual bool isMaskSupported() const
Definition: features2d.hpp:1207
StarDetector StarFeatureDetector
Definition: features2d.hpp:613
Definition: features2d.hpp:838
virtual ~BFMatcher()
Definition: features2d.hpp:1205
Ptr< DescriptorMatcher > matcher
Definition: features2d.hpp:1464
unsigned int * sizeList_
Definition: features2d.hpp:345
virtual ~AdjusterAdapter()
Definition: features2d.hpp:751
int maxSize
Definition: features2d.hpp:560
bool nonmaxSuppression
Definition: features2d.hpp:590
static const float basicSize_
Definition: features2d.hpp:360
Ptr< DescriptorExtractor > extractor
Definition: features2d.hpp:1463
Ptr< flann::SearchParams > searchParams
Definition: features2d.hpp:1257
const CvMat const CvMat const CvMat CvMat CvMat CvMat CvMat CvSize CvMat CvMat * T
Definition: calib3d.hpp:270
GLfloat angle
Definition: core_c.h:1297
vector< PatternPoint > patternLookup
Definition: features2d.hpp:491
CV_EXPORTS void FAST(InputArray image, CV_OUT vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression=true)
detects corners using FAST algorithm by E. Rosten
GFTTDetector GoodFeaturesToTrackDetector
Definition: features2d.hpp:612
KeyPointCollection trainPointCollection
Definition: features2d.hpp:1420
Accumulator< T >::Type ResultType
Definition: features2d.hpp:976
double featureScaleMul
Definition: features2d.hpp:682
ResultType operator()(const T *a, const T *b, int size) const
Definition: features2d.hpp:962
int lineThresholdBinarized
Definition: features2d.hpp:563
Definition: features2d.hpp:1531
Definition: features2d.hpp:667
The Keypoint Class.
Definition: features2d.hpp:69
GLXDrawable GLXDrawable read
bool varyXyStepWithScale
Definition: features2d.hpp:687
vector< vector< KeyPoint > > keypoints
Definition: features2d.hpp:1412
CV_PROP_RW int WTA_K
Definition: features2d.hpp:400
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: highgui_c.h:230
int thresh_
Definition: features2d.hpp:829
CV_EXPORTS void FASTX(InputArray image, CV_OUT vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression, int type)
int normType
Definition: features2d.hpp:1218
CV_EXPORTS_W void write(FileStorage &fs, const string &name, int value)
int addedDescCount
Definition: features2d.hpp:1261
Definition: features2d.hpp:594
Definition: features2d.hpp:322
void clear(const ColorA &color=ColorA::black(), bool clearDepthBuffer=true)
double CvStereoLineCoeff CvPoint3D64f * point
Definition: legacy.hpp:558
bool scaleNormalized
Definition: features2d.hpp:461
vector< int > selectedPairs0
Definition: features2d.hpp:468
The 2D size class.
Definition: core.hpp:81
BriskShortPair * shortPairs_
Definition: features2d.hpp:354
typedef void(CV_CDECL *CvMouseCallback)(int event
Definition: features2d.hpp:1561
unsigned int j
Definition: features2d.hpp:333
CV_EXPORTS void set(Mat &dst, const Scalar &gamma, const Mat &mask=Mat())
vector< Mat > trainDescCollection
Definition: features2d.hpp:1189
float x
Definition: features2d.hpp:472
Definition: features2d.hpp:371
int maxTotalKeypoints
Definition: features2d.hpp:718
Definition: features2d.hpp:695
Ptr< FeatureDetector > detector
Definition: features2d.hpp:717
ResultType operator()(const T *a, const T *b, int size) const
Definition: features2d.hpp:994
int initXyStep
Definition: features2d.hpp:684
double k
Definition: features2d.hpp:609
double int int max_iters
Definition: calib3d.hpp:73
uchar j
Definition: features2d.hpp:486
CV_EXPORTS_W void drawKeypoints(const Mat &image, const vector< KeyPoint > &keypoints, CV_OUT Mat &outImage, const Scalar &color=Scalar::all(-1), int flags=DrawMatchesFlags::DEFAULT)
CV_PROP_RW float minConvexity
Definition: features2d.hpp:640
KeyPoint(Point2f _pt, float _size, float _angle=-1, float _response=0, int _octave=0, int _class_id=-1)
the full constructor
Definition: features2d.hpp:75
CV_PROP_RW float minCircularity
Definition: features2d.hpp:634
unsigned char ValueType
Definition: features2d.hpp:1023
int weighted_dx
Definition: features2d.hpp:334
Definition: features2d.hpp:483
float x
Definition: features2d.hpp:323
CV_PROP_RW uchar blobColor
Definition: features2d.hpp:628
int pointCount
Definition: features2d.hpp:1409
unsigned int i
Definition: features2d.hpp:328
Ptr< FeatureDetector > detector
Definition: features2d.hpp:739
const CvArr CvSeq ** keypoints
Definition: compat.hpp:647
GLuint GLuint GLsizei GLenum const GLvoid * indices
Definition: legacy.hpp:3084
T ValueType
Definition: features2d.hpp:991
CV_PROP_RW int edgeThreshold
Definition: features2d.hpp:398
ResultType operator()(const unsigned char *a, const unsigned char *b, int size) const
Definition: features2d.hpp:1012
Definition: features2d.hpp:1273
vector< Mat > descriptors
Definition: features2d.hpp:1554
unsigned int noShortPairs_
Definition: features2d.hpp:356
ORB OrbFeatureDetector
Definition: features2d.hpp:405
CV_EXPORTS_W void min(InputArray src1, InputArray src2, OutputArray dst)
computes per-element minimum of two arrays (dst = min(src1, src2))
int weight_dx
Definition: features2d.hpp:487
CV_PROP_RW int patchSize
Definition: features2d.hpp:402
T ValueType
Definition: features2d.hpp:959
Definition: features2d.hpp:1226
CvSize int int int CvPoint int delta
Definition: core_c.h:1427
Definition: features2d.hpp:574
Mat mergedDescriptors
Definition: features2d.hpp:1170
CV_EXPORTS int normHamming(const uchar *a, const uchar *b, int n)
Definition: features2d.hpp:1472
const CvMat CvMat CvMat int k
Definition: legacy.hpp:3052
GLenum GLint x
Definition: core_c.h:632
Definition: features2d.hpp:249
Definition: features2d.hpp:1004
Definition: features2d.hpp:1065
an adjust for the FAST detector. This will basically decrement or increment the threshold by 1 ...
Definition: features2d.hpp:812
CV_PROP_RW float minArea
Definition: features2d.hpp:631
static const unsigned int n_rot_
Definition: features2d.hpp:348
CV_EXPORTS void evaluateGenericDescriptorMatcher(const Mat &img1, const Mat &img2, const Mat &H1to2, vector< KeyPoint > &keypoints1, vector< KeyPoint > &keypoints2, vector< vector< DMatch > > *matches1to2, vector< vector< uchar > > *correctMatches1to2Mask, vector< Point2f > &recallPrecisionCurve, const Ptr< GenericDescriptorMatcher > &dmatch=Ptr< GenericDescriptorMatcher >())
Definition: features2d.hpp:331
CV_PROP_RW bool filterByConvexity
Definition: features2d.hpp:639
Definition: features2d.hpp:327
bool nonmax_
Definition: features2d.hpp:830
unsigned int noLongPairs_
Definition: features2d.hpp:357
int threshold
Definition: features2d.hpp:589
CV_EXPORTS_W double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)
applies fixed threshold to the image
XML/YAML File Storage Class.
Definition: core.hpp:4040
Params params
Definition: features2d.hpp:662
CV_EXPORTS int getNearestPoint(const vector< Point2f > &recallPrecisionCurve, float l_precision)
float y
Definition: features2d.hpp:473
Ptr< flann::Index > flannIndex
Definition: features2d.hpp:1258
CV_EXPORTS bool initModule_features2d()
Definition: features2d.hpp:855
double thresh_
Definition: features2d.hpp:869
GLboolean GLboolean GLboolean b
Definition: legacy.hpp:633
The n-dimensional matrix class.
Definition: core.hpp:1688
Definition: miniflann.hpp:81
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei imageSize
Definition: legacy.hpp:631
double radius
Definition: features2d.hpp:655
ORB OrbDescriptorExtractor
Definition: features2d.hpp:406
float dMin_
Definition: features2d.hpp:353
const CvArr CvSeq CvSeq ** descriptors
Definition: compat.hpp:647
float Type
Definition: features2d.hpp:949
Definition: core.hpp:4465
float y
Definition: features2d.hpp:324
CV_WRAP KeyPoint(float x, float y, float _size, float _angle=-1, float _response=0, int _octave=0, int _class_id=-1)
another form of the full constructor
Definition: features2d.hpp:80
bool orientationNormalized
Definition: features2d.hpp:460
static Scalar_< double > all(doublev0)
returns a scalar with all elements set to v0
BriskLongPair * longPairs_
Definition: features2d.hpp:355
Definition: features2d.hpp:1470
vector< int > startIndices
Definition: features2d.hpp:1414
CV_PROP_RW bool filterByColor
Definition: features2d.hpp:627
int featureScaleLevels
Definition: features2d.hpp:681
float * scaleList_
Definition: features2d.hpp:344
Definition: features2d.hpp:1434
GLuint GLuint GLsizei GLenum type
Definition: core_c.h:114
Definition: core.hpp:2565
Definition: features2d.hpp:727
Definition: features2d.hpp:942
Definition: features2d.hpp:1020
Definition: miniflann.hpp:125
CV_PROP_RW int imgIdx
Definition: features2d.hpp:1048
bool extAll
Definition: features2d.hpp:464
GLuint const GLchar * name
Definition: core_c.h:1546
CV_EXPORTS_W void integral(InputArray src, OutputArray sum, int sdepth=-1)
computes the integral image
Definition: features2d.hpp:615
int CvArr CvTermCriteria termcrit
Definition: core_c.h:1472
ORB implementation.
Definition: features2d.hpp:367
int attempts
Definition: features2d.hpp:1576
int nfeatures
Definition: features2d.hpp:604
CV_WRAP KeyPoint()
the default constructor
Definition: features2d.hpp:73
CV_WRAP DMatch()
Definition: features2d.hpp:1040
Hamming HammingLUT
Definition: features2d.hpp:1018
Definition: features2d.hpp:156
unsigned char ValueType
Definition: features2d.hpp:1007
The "Star" Detector.
Definition: features2d.hpp:542
BriskPatternPoint * patternPoints_
Definition: features2d.hpp:342
GLboolean GLboolean GLboolean GLboolean a
Definition: legacy.hpp:633
Definition: features2d.hpp:988
CV_PROP_RW int nlevels
Definition: features2d.hpp:397
DescriptorCollection mergedDescriptors
Definition: features2d.hpp:1260
unsigned int i
Definition: features2d.hpp:332
Base class for high-level OpenCV algorithms.
Definition: core.hpp:4390
T Type
Definition: features2d.hpp:944
Definition: features2d.hpp:956
Maximal Stable Extremal Regions class.
Definition: features2d.hpp:507
Definition: features2d.hpp:477
int ResultType
Definition: features2d.hpp:1008
CV_PROP_RW float angle
Definition: features2d.hpp:103
bool useHarrisDetector
Definition: features2d.hpp:608
CV_PROP_RW int firstLevel
Definition: features2d.hpp:399
static const unsigned int scales_
Definition: features2d.hpp:346
CV_PROP_RW int scoreType
Definition: features2d.hpp:401
unsigned char uchar
Definition: types_c.h:170
double patternScale
Definition: features2d.hpp:462
Definition: features2d.hpp:470
FREAK implementation.
Definition: features2d.hpp:411
float sigma
Definition: features2d.hpp:474
uchar i
Definition: features2d.hpp:479
false
Definition: color.hpp:230
CV_PROP_RW float maxThreshold
Definition: features2d.hpp:623
Accumulator< T >::Type ResultType
Definition: features2d.hpp:960
unsigned int j
Definition: features2d.hpp:329
int weighted_dy
Definition: features2d.hpp:335
int blockSize
Definition: features2d.hpp:607
CvPoint2D32f float a
Definition: legacy.hpp:578
Smart pointer to dynamically allocated objects.
Definition: core.hpp:1268
static Mat clone_op(Mat m)
Definition: features2d.hpp:1185
CV_EXPORTS_W void add(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1)
adds one matrix to another (dst = src1 + src2)
int nOctaves0
Definition: features2d.hpp:467
int weight_dy
Definition: features2d.hpp:488
double thresh_
Definition: features2d.hpp:852
short
Definition: vec_math.hpp:153
int responseThreshold
Definition: features2d.hpp:561
GLenum GLenum GLenum GLenum GLenum scale
CV_PROP_RW int threshold
Definition: features2d.hpp:318
GLenum GLint GLuint mask
Definition: tracking.hpp:132
CV_PROP_RW int trainIdx
Definition: features2d.hpp:1047
CV_PROP_RW float distance
Definition: features2d.hpp:1050
unsigned int points_
Definition: features2d.hpp:343
CV_PROP_RW int class_id
object class (if the keypoints need to be clustered by an object they belong to)
Definition: features2d.hpp:108
const CvMat const CvMat * npoints
Definition: calib3d.hpp:196
CvLatentSvmDetector * detector
Definition: objdetect.hpp:270
ResultType operator()(const T *a, const T *b, int size) const
Definition: features2d.hpp:978
CV_PROP_RW bool filterByArea
Definition: features2d.hpp:630
an adaptively adjusting detector that iteratively detects until the desired number of features are de...
Definition: features2d.hpp:783
Accumulator< T >::Type ResultType
Definition: features2d.hpp:992
GLsizeiptr size
Definition: core_c.h:939
Scalar_< double > Scalar
Definition: core.hpp:968
int maxLevel
Definition: features2d.hpp:740
Proxy datatype for passing Mat's and vector<>'s as input parameters.
Definition: core.hpp:1400
Definition: features2d.hpp:972
int nOctaves
Definition: features2d.hpp:463
Definition: features2d.hpp:652
vector< int > startIdxs
Definition: features2d.hpp:1171
T ValueType
Definition: features2d.hpp:975
CV_EXPORTS_W void max(InputArray src1, InputArray src2, OutputArray dst)
computes per-element maximum of two arrays (dst = max(src1, src2))
CV_PROP_RW int queryIdx
Definition: features2d.hpp:1046
CV_PROP_RW int octave
octave (pyramid layer) from which the keypoint has been extracted
Definition: features2d.hpp:107
void convert(const SourceT *sourceArray, DestT *destArray, size_t length)
vector< Mat > images
Definition: features2d.hpp:1411
GLuint color
Definition: core_c.h:1276