主要内容

SURFPoints

对象用于存储SURF兴趣点

描述

对象之间传递数据的能力detectSURFFeatures而且extractFeatures功能。它还可以用于操作和绘制这些函数返回的数据。您可以使用该对象以交互方式填充这些点。在希望将非SURF兴趣点检测器与SURF描述符混合使用的情况下,可以使用这种方法。

创建

描述

例子

= SURFPoints (位置构造一个SURFPoints对象的-by-2数组的[xy]点坐标。

= SURFPoints (位置名称,值使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,积分= SURFPoints('Metric',0.0)

输入参数

全部展开

点坐标,指定为-by-2数组形式[xy)坐标。表示点数。

属性

全部展开

对象所持有的点数,指定为数值。

点位置,指定为-by-2数组的[xy]点坐标。

检测到特征的尺度,指定为大于或等于的值1.6

被检测特征的强度,用数值表示。

被检测特征的方向,用弧度表示为角度。以x轴为原点,以逆时针方向测量角度位置财产。不要手动设置此属性。相反,依靠的是呼唤extractFeatures来填充这个值。的extractFeatures函数修改的默认值0.0,取向主要用于可视化目的。

在检测过程中确定的拉普拉斯符号,指定为-10,或1.使用该参数可以加快特征匹配的速度。

具有相同度量值但不同拉普拉斯符号的斑点可以因其强度值而不同。例如,黑底上的白色斑点和白底上的黑色斑点。可以使用此参数快速消除不匹配的blob。

对于非surf探测器,此属性不相关。例如,对于角落功能,可以简单地使用的默认值0

对象的功能

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

例子

全部折叠

读入图像。

I = imread(“cameraman.tif”);

检测SURF特征。

点= detectsurffatures (I);

为10个最强的点显示位置和规模。

selectstrong = points. selectstrong (10);imshow(我);持有;情节(最大);

图中包含一个轴对象。axis对象包含image、line类型的3个对象。

在命令行上显示10个最强点的[x y]坐标。

最强。位置
ans =10x2单矩阵139.7482 95.9542 107.4502 232.0347 116.6112 138.2446 105.5152 172.1816 113.6975 48.7220 104.4210 75.7348 111.3914 154.4597 106.2879 175.2709 131.1298 98.3900 124.2933 64.4942

读入图像。

I = imread(“cameraman.tif”);

检测SURF特征。

点= detectsurffatures (I);

显示最后5个点。

imshow(我);持有;情节(点(end-4:结束));

图中包含一个轴对象。axis对象包含image、line类型的3个对象。

提示

虽然SURFPoints可以持有多个点,它是一个标量对象。因此,元素个数surfPoints)总是返回1.此值可能与长度surfPoints),返回该对象所持有的真实点数。

参考文献

[1]贝,H., A. Ess, T. Tuytelaars和L. Van Gool。“SURF:加速健壮的功能。”计算机视觉与图像理解(CVIU).Vol。110,第3期,第346-359页,2008。

扩展功能

版本历史

在R2011b中引入