OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
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

有意义的关键点邻域的直径


此类文档由以下文件生成