主要内容

ORBPoints

对象存储ORB要点

自从R2019a

描述

一个ORBPoints面向对象存储的快速、短暂(ORB)要点一个图像旋转。您可以指定作为重点和存储它们ORBPoints对象。您还可以使用detectORBFeatures函数来检测图像中的ORB要点。的detectORBFeatures函数存储检测到ORB作为一个关键点ORBPoints对象。使用对象的功能策划、选择和处理检测到ORB要点。

创建

描述

= ORBPoints创建一个ORBPoints对象的默认属性值。

例子

= ORBPoints (位置)创建一个ORBPoints对象从一组指定的位置坐标位置。输入设置的位置位置财产。

例子

= ORBPoints (位置,名称,值)设置对象的属性使用一个或多个名称-值对参数。在报价附上每个属性的名字。例如,ORBPoints(位置,“数”,15)创建一个ORBPoints对象与属性设置为15。

属性

全部展开

这个属性是只读的。

要点、位置指定为一个2矩阵。每一行的形式(xy)和代表关键点的位置。是要点的数量。你不能将此属性设置为一个名称-值对。使用位置输入参数。

这个属性是只读的。

强度的要点、指定为这些值之一:

  • 一个标量,检测要点有相同的力量。在这种情况下,对象分配相同的度规价值的所有要点。

  • 一个元向量-检测要点有不同的强度值。在这种情况下,对象分配不同度规每个关键点的价值。是要点的数量。

例子:ORBPoints(位置,“规”,0.5)

数据类型:

这个属性是只读的。

持有的重点对象,指定为一个非负整数。

这个属性是只读的。

规模因素,指定这些值之一:

  • 一个标量检测到——所有要点在同一层次的分解。在这种情况下,对象分配相同的规模价值的所有要点。

  • 一个元向量,摸清检测在不同级别的分解。在这种情况下,对象分配不同规模每个关键点的价值。是要点的数量。

比例因子指定的分解层级上发现一个关键点。

例子:ORBPoints(位置、规模的1.2)

数据类型:

这个属性是只读的。

角弧度的要点,指定这些值之一:

  • 一个标量——检测要点是相同的取向。在这种情况下,对象分配相同的取向价值的所有要点。

  • 一个元向量-检测要点是不同的方向。在这种情况下,对象分配不同取向每个关键点的价值。是要点的数量。

角由关键点定义参照图像的水平轴。关键点的坐标设置轴的原点。

例子:ORBPoints(位置、方向的0.7854)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

对象的功能

isempty 确定点对象是空的
长度 数量的储存点
情节 情节点
selectStrongest 选择分与最强的指标
大小 返回点对象的大小
selectUniform 选择均匀分布特征点的子集

例子

全部折叠

读一个图像到工作区中。

我= imread (“licensePlates.jpg”);

将图像转换为灰度图像。

I = im2gray(我);

指定在图像关键点的位置。

位置= (400 398;485 343;274 323;274 367;241 313;302 213);

创建一个ORBPoints对象和显示其属性。

点= ORBPoints(位置)
点= 6 x1 ORBPoints数组属性:位置:[6 x2单)度量:[6 x1单)数:6规模:x1单[6]取向:[6 x1单)

检查规模取向的属性ORBPoints对象。

points.Scale
ans =6 x1单一列向量1 1 1 1 1 1
points.Orientation
ans =6 x1单一列向量0 0 0 0 0 0

为每个关键点指定刻度值。

规模= (2.3 - 3.9 2.1 - 2.5 2.5 - 4);

为摸清指定角度值0.7854弧度。

角= 0.7854;

创建一个ORBPoints对象的重点和更新后的比例和角度值。输出是一个ORBPoints对象包含与修改要点规模取向属性。

点= ORBPoints(位置,“规模”、规模、“定位”、角);

检查更新后的规模值。

points.Scale
ans =6 x1单一列向量2.1000 2.5000 2.5000 4.0000 2.3000 3.9000

检查更新后的取向值。自取向值是一个标量,对所有重点对象分配相同的值。

points.Orientation
ans =6 x1单一列向量0.7854 0.7854 0.7854 0.7854 0.7854 0.7854

显示图像和情节ORB要点的形象。

图imshow(我)情节(分)

图包含一个坐标轴对象。坐标轴对象包含3图像类型的对象,线。一个或多个行显示的值只使用标记

读一个图像到工作区中。

我= imread (“cameraman.tif”);

使用detectORBFeatures函数来检测图像中的ORB要点。函数返回检测到ORB作为一个关键点ORBPoints对象。

点= detectORBFeatures(我);

使用selectUniform目标函数来选择10 ORB要点。的输出selectUniform目标函数是一个ORBPoints对象。

newPoints = selectUniform(分,10、尺寸(I))
newPoints = 10 x1 ORBPoints数组属性:位置:[10 x2单)度量:[10 x1单)数:10规模:x1单[10]取向:[10 x1单)

显示的位置和规模上的选择要点的形象。

图imshow(我)情节(newPoints)

图包含一个坐标轴对象。坐标轴对象包含3图像类型的对象,线。一个或多个行显示的值只使用标记

显示(x, y)坐标的选择要点。

x = newPoints.Location (: 1);y = newPoints.Location (:, 2);(x, y)
ans =10 x2单一矩阵147 62 111 63 143 67 127 89 47 124 34 154 183 205 113 206 111 207 148 66

显示的方向选择的要点。

newPoints.Orientation
ans =10 x1单一列向量5.4682 0.7888 5.3084 6.2443 2.8221 3.8440 6.1212 6.0344 4.8840 5.5535

提示

虽然ORBPoints可以容纳很多点,它是一个标量对象。因此,元素个数(ORBPoints)总是返回1。这个值可以不同长度(ORBPoints),它返回点的真实数量的对象。

引用

[1]Rublee E。,V. Rabaud, K. Konolige, and G. Bradski. "ORB: An Efficient Alternative to SIFT or SURF." In2011年国际会议上计算机视觉学报》上,2564 - 2571页。西班牙巴塞罗那:IEEE 2011。

扩展功能

版本历史

介绍了R2019a