OpenCV  4.10.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 等。

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

构造函数和析构函数文档

◆ KeyPoint() [1/3]

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

默认构造函数

◆ 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 object>
cv.KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint object>
参数
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 object>
cv.KeyPoint(x, y, size[, angle[, response[, octave[, class_id]]]]) -> <KeyPoint object>
参数
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

关键点邻域的有效直径


此类的文档是从以下文件生成的