OpenCV 4.11.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
 提取关键点的金字塔层(octave)
 
Point2f pt
 关键点的坐标
 
float response
 选择最强关键点的响应值。可用于进一步排序或二次采样。
 
float size
 关键点有效邻域的直径
 

详细描述

显著点检测器的數據結構。

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

关键点的特征在于其二维位置、尺度(与需要考虑的邻域直径成正比)、方向和其他一些参数。然后,另一个算法分析关键点邻域,构建描述符(通常表示为特征向量)。然后,可以使用 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检测到关键点的金字塔层(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检测到关键点的金字塔层(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检测到关键点的金字塔层(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

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

◆ pt

Point2f cv::KeyPoint::pt

关键点的坐标

◆ response

float cv::KeyPoint::response

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

◆ size

float cv::KeyPoint::size

关键点有效邻域的直径


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