主要内容

detectFASTFeatures

使用 FAST 算法检测角点

说明

points = detectFASTFeatures(I) 返回 cornerPoints 对象 points,其中包含有关使用加速分割测试 (FAST) 算法在二维灰度或二值输入中检测到的角点特征的信息。

示例

points = detectFASTFeatures(I,Name,Value) 使用由一个或多个名称-值参量指定的附加选项。

示例

全部折叠

读取图像。

I = imread('cameraman.tif');

找到角点。

corners = detectFASTFeatures(I);

显示结果。

imshow(I); hold on;
plot(corners.selectStrongest(50));

Figure contains an axes object. The hidden axes object contains 2 objects of type image, line. One or more of the lines displays its values using only markers

输入参数

全部折叠

输入图像,指定为 M×N 二维灰度或二值图像。输入图像必须为非稀疏实矩阵。

数据类型: single | double | int16 | uint8 | uint16 | logical

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'MinQuality','0.01','ROI',[50,150,100,200] 指定检测器必须在指定的感兴趣区域内使用角点的最低可接受质量,即 1%。此感兴趣区域位于 x=50y=150 处。ROI 的宽度为 100 像素,高度为 200 像素。

角点的最低可接受质量,指定为由 'MinQuality' 和范围 [0,1] 内的标量值组成的以逗号分隔的对组。

角点的最低可接受质量表示图像中最大角点度量值的一部分。较大的值可用于删除错误的角点。

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

角点与周围区域之间的最小强度差,指定为由 'MinContrast' 和在范围 (0,1) 内的标量值组成的以逗号分隔的对组。

最小强度表示图像类的最大值的一定比例。增大该值会减少检测到的角点数量。

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

用于角点检测的矩形区域,指定为由 'ROI' 和 [x y width height] 形式的向量组成的以逗号分隔的对组。前两个整数值 [x y] 表示感兴趣区域左上角的位置。最后两个整数值表示宽度和高度。

示例: 'ROI', [50,150,100,200]

输出参量

全部折叠

角点对象,以 cornerPoints 对象形式返回。该对象包含关于在二维灰度或二值输入图像中检测到的特征点的信息。

参考

[1] Rosten, E., and T. Drummond. "Fusing Points and Lines for High Performance Tracking," Proceedings of the IEEE International Conference on Computer Vision, Vol. 2 (October 2005): pp. 1508–1511.

扩展功能

全部展开

版本历史记录

在 R2013a 中推出

全部折叠