OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
cv::KeyPoint 类参考

显著点检测器的数据结构。 更多...

#include <opencv2/core/types.hpp>

cv::KeyPoint 的协作图

公开成员函数

 KeyPoint ()
 默认构造函数
 
 KeyPoint (float x, float y, float size, float angle=-1, float response=0, int octave=0, int class_id=-1)
 
 KeyPoint (Point2f pt, float size, float angle=-1, float response=0, int octave=0, int class_id=-1)
 
size_t hash () const
 

静态公开成员函数

static void convert (const std::vector< KeyPoint > &keypoints, std::vector< Point2f > &points2f, const std::vector< int > &keypointIndexes=std::vector< int >())
 
static void convert (const std::vector< Point2f > &points2f, std::vector< KeyPoint > &keypoints, float size=1, float response=1, int octave=0, int class_id=-1)
 
static float overlap (const KeyPoint &kp1, const KeyPoint &kp2)
 

公开属性

float angle (角度)
 
int class_id
 对象类别(如果需要按对象聚类关键点)
 
int octave
 提取关键点的金字塔层(八度)
 
Point2f pt (点)
 关键点的坐标
 
float response
 用于选择最强关键点的响应值。可用于进一步排序或子采样
 
float size (大小)
 需要考虑的关键点邻域的直径
 

详细说明

显著点检测器的数据结构。

此类实例存储一个关键点,即由众多可用关键点检测器(如 Harris 角点检测器、FAST、StarDetector、SURF、SIFT 等)检测到的点特征。

关键点通过 2D 位置、尺度(与需要考虑的邻域直径成比例)、方向和其他一些参数来表征。然后,另一个算法分析关键点邻域,构建一个描述符(通常表示为特征向量)。然后可以使用 KDTree 或其他方法匹配不同图像中表示同一对象的关键点。

构造函数与析构函数说明

◆ KeyPoint() [1/3]

cv::KeyPoint::KeyPoint ( )
Python
cv.KeyPoint() -> <KeyPoint 对象>
cv.KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint 对象>

默认构造函数

◆ KeyPoint() [2/3]

cv::KeyPoint::KeyPoint ( Point2f pt (点),
float size (大小),
float angle = -1,
float response = 0,
int octave = 0,
int class_id = -1 )
Python
cv.KeyPoint() -> <KeyPoint 对象>
cv.KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint 对象>
参数
pt (点)关键点的 x 和 y 坐标
size (大小)关键点直径
angle (角度)关键点方向
response关键点检测器在关键点上的响应(即关键点的强度)
octave检测到关键点的金字塔八度
class_id对象 ID

◆ KeyPoint() [3/3]

cv::KeyPoint::KeyPoint ( float x,
float y,
float size (大小),
float angle = -1,
float response = 0,
int octave = 0,
int class_id = -1 )
Python
cv.KeyPoint() -> <KeyPoint 对象>
cv.KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint 对象>
参数
x关键点的 x 坐标
y关键点的 y 坐标
size (大小)关键点直径
angle (角度)关键点方向
response关键点检测器在关键点上的响应(即关键点的强度)
octave检测到关键点的金字塔八度
class_id对象 ID

成员函数说明

◆ convert() [1/2]

static void cv::KeyPoint::convert ( const std::vector< KeyPoint > & keypoints,
std::vector< Point2f > & points2f,
const std::vector< int > & keypointIndexes = std::vector< int >() )
static (静态)
Python
cv.KeyPoint.convert(keypoints[, keypointIndexes]) -> points2f
cv.KeyPoint.convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints
cv.KeyPoint_convert(keypoints[, keypointIndexes]) -> points2f
cv.KeyPoint_convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints

此方法将关键点向量转换为点向量或反之,其中每个关键点都具有相同的尺寸和相同的方向。

参数
keypoints从任何特征检测算法(如 SIFT/SURF/ORB)获得的键点
points2f每个关键点的 (x,y) 坐标数组
keypointIndexes要转换为点的关键点索引数组。(充当仅转换指定关键点的掩码)

◆ convert() [2/2]

static void cv::KeyPoint::convert ( const std::vector< Point2f > & points2f,
std::vector< KeyPoint > & keypoints,
float size = 1,
float response = 1,
int octave = 0,
int class_id = -1 )
static (静态)
Python
cv.KeyPoint.convert(keypoints[, keypointIndexes]) -> points2f
cv.KeyPoint.convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints
cv.KeyPoint_convert(keypoints[, keypointIndexes]) -> points2f
cv.KeyPoint_convert(points2f[, size[, response[, octave[, class_id]]]]) -> keypoints

这是一个重载的成员函数,为方便起见而提供。它与上述函数的区别仅在于所接受的参数不同。

参数
points2f每个关键点的 (x,y) 坐标数组
keypoints从任何特征检测算法(如 SIFT/SURF/ORB)获得的键点
size (大小)关键点直径
response关键点检测器在关键点上的响应(即关键点的强度)
octave检测到关键点的金字塔八度
class_id对象 ID

◆ hash()

size_t cv::KeyPoint::hash ( ) const

◆ overlap()

static float cv::KeyPoint::overlap ( const KeyPoint & kp1,
const KeyPoint & kp2 )
static (静态)
Python
cv.KeyPoint.overlap(kp1, kp2) -> retval
cv.KeyPoint_overlap(kp1, kp2) -> retval

此方法计算一对关键点的重叠度。重叠度是关键点区域交集面积与关键点区域并集面积(将关键点区域视为圆形)的比率。如果不重叠,则返回零。如果它们在同一位置具有相同的尺寸,则返回 1。

参数
kp1第一个关键点
kp2第二个关键点

成员数据文档

◆ angle

float cv::KeyPoint::angle

计算出的关键点方向(如果不可用则为 -1);单位为 [0,360) 度,相对于图像坐标系测量,即顺时针方向。

◆ class_id

int cv::KeyPoint::class_id

对象类别(如果需要按对象聚类关键点)

◆ octave

int cv::KeyPoint::octave

提取关键点的金字塔层(八度)

◆ pt

Point2f cv::KeyPoint::pt

关键点的坐标

◆ response

float cv::KeyPoint::response

用于选择最强关键点的响应值。可用于进一步排序或子采样

◆ size

float cv::KeyPoint::size

需要考虑的关键点邻域的直径


该类的文档由以下文件生成: