Data structure for salient point detectors. More...
#include <types.hpp>
Public Member Functions | |
CV_WRAP | KeyPoint () |
the default constructor More... | |
KeyPoint (Point2f pt, float size, float angle=-1, float response=0, int octave=0, int class_id=-1) | |
CV_WRAP | KeyPoint (float x, float y, float size, float angle=-1, float response=0, int octave=0, int class_id=-1) |
size_t | hash () const |
Static Public Member Functions | |
static CV_WRAP void | convert (const std::vector< KeyPoint > &keypoints, CV_OUT std::vector< Point2f > &points2f, const std::vector< int > &keypointIndexes=std::vector< int >()) |
static CV_WRAP void | convert (const std::vector< Point2f > &points2f, CV_OUT std::vector< KeyPoint > &keypoints, float size=1, float response=1, int octave=0, int class_id=-1) |
static CV_WRAP float | overlap (const KeyPoint &kp1, const KeyPoint &kp2) |
Public Attributes | |
CV_PROP_RW Point2f | pt |
coordinates of the keypoints More... | |
CV_PROP_RW float | size |
diameter of the meaningful keypoint neighborhood More... | |
CV_PROP_RW float | angle |
CV_PROP_RW float | response |
the response by which the most strong keypoints have been selected. Can be used for the further sorting or subsampling More... | |
CV_PROP_RW int | octave |
octave (pyramid layer) from which the keypoint has been extracted More... | |
CV_PROP_RW int | class_id |
object class (if the keypoints need to be clustered by an object they belong to) More... | |
Data structure for salient point detectors.
The class instance stores a keypoint, i.e. a point feature found by one of many available keypoint detectors, such as Harris corner detector, FAST, StarDetector, SURF, SIFT etc.
The keypoint is characterized by the 2D position, scale (proportional to the diameter of the neighborhood that needs to be taken into account), orientation and some other parameters. The keypoint neighborhood is then analyzed by another algorithm that builds a descriptor (usually represented as a feature vector). The keypoints representing the same object in different images can then be matched using KDTree or another method.
CV_WRAP cv::KeyPoint::KeyPoint | ( | ) |
the default constructor
cv::KeyPoint::KeyPoint | ( | Point2f | pt, |
float | size, | ||
float | angle = -1 , |
||
float | response = 0 , |
||
int | octave = 0 , |
||
int | class_id = -1 |
||
) |
pt | x & y coordinates of the keypoint |
size | keypoint diameter |
angle | keypoint orientation |
response | keypoint detector response on the keypoint (that is, strength of the keypoint) |
octave | pyramid octave in which the keypoint has been detected |
class_id | object id |
CV_WRAP cv::KeyPoint::KeyPoint | ( | float | x, |
float | y, | ||
float | size, | ||
float | angle = -1 , |
||
float | response = 0 , |
||
int | octave = 0 , |
||
int | class_id = -1 |
||
) |
x | x-coordinate of the keypoint |
y | y-coordinate of the keypoint |
size | keypoint diameter |
angle | keypoint orientation |
response | keypoint detector response on the keypoint (that is, strength of the keypoint) |
octave | pyramid octave in which the keypoint has been detected |
class_id | object id |
|
static |
This method converts vector of keypoints to vector of points or the reverse, where each keypoint is assigned the same size and the same orientation.
keypoints | Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB |
points2f | Array of (x,y) coordinates of each keypoint |
keypointIndexes | Array of indexes of keypoints to be converted to points. (Acts like a mask to convert only specified keypoints) |
|
static |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
points2f | Array of (x,y) coordinates of each keypoint |
keypoints | Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB |
size | keypoint diameter |
response | keypoint detector response on the keypoint (that is, strength of the keypoint) |
octave | pyramid octave in which the keypoint has been detected |
class_id | object id |
size_t cv::KeyPoint::hash | ( | ) | const |
This method computes overlap for pair of keypoints. Overlap is the ratio between area of keypoint regions' intersection and area of keypoint regions' union (considering keypoint region as circle). If they don't overlap, we get zero. If they coincide at same location with same size, we get 1.
kp1 | First keypoint |
kp2 | Second keypoint |
CV_PROP_RW float cv::KeyPoint::angle |
computed orientation of the keypoint (-1 if not applicable); it's in [0,360) degrees and measured relative to image coordinate system, ie in clockwise.
CV_PROP_RW int cv::KeyPoint::class_id |
object class (if the keypoints need to be clustered by an object they belong to)
CV_PROP_RW int cv::KeyPoint::octave |
octave (pyramid layer) from which the keypoint has been extracted
CV_PROP_RW Point2f cv::KeyPoint::pt |
coordinates of the keypoints
CV_PROP_RW float cv::KeyPoint::response |
the response by which the most strong keypoints have been selected. Can be used for the further sorting or subsampling
CV_PROP_RW float cv::KeyPoint::size |
diameter of the meaningful keypoint neighborhood