主要内容

本页采用了机器翻译。点击此处可查看英文原文。

detectBRISKFeatures

检测 BRISK 特征

说明

points = detectBRISKFeatures(I) 返回一个 BRISKPoints 对象,即 points。该对象包含在二维灰度或二值输入图像 I 中检测到的 BRISK 特征的相关信息。detectBRISKFeatures 函数采用二进制稳健不变可扩展关键点 (BRISK) 算法来检测多尺度角点特征。

示例

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

示例

全部折叠

读取图像。

  I = imread('cameraman.tif');

找出 BRISK 点。

  points = detectBRISKFeatures(I);

显示结果。

  imshow(I); hold on;
  plot(points.selectStrongest(20));

Figure contains an axes object. The hidden axes object contains 3 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.1'ROI'[50,150,100,200] 指定检测器必须在指定的感兴趣区域内,将角点的最低可接受质量阈值设为 10%。此感兴趣区域位于 x=50y=150 处。ROI 的宽度为 100 像素,高度为 200 像素。

角点与其周围区域之间的最小强度差,指定为由 'MinContrast' 和一个取值范围在 (0 1) 之间的标量组成的以逗号分隔的数对。最小对比度值代表该图像类最大值的一个比例。增加此值可减少检测到的角点数量。

角点的最低可接受质量,指定为由 'MinQuality' 和范围 [0,1] 内的标量值组成的以逗号分隔的对组。角点的最低可接受质量表示图像中最大角点度量值的一部分。增大此值可消除误检角点。

要实现的倍频程数,指定为由 'NumOctaves' 和一个整数标量组成的以逗号分隔的数对,该整数标量大于或等于 0。增大此值可检测更大的斑点。推荐值介于 14 之间。当将 NumOctaves 设置为 0 时,该函数将禁用多尺度检测。它在输入图像的尺度上进行检测,I

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

输出参量

全部折叠

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

参考

[1] Leutenegger, S., M. Chli and R. Siegwart. “BRISK: Binary Robust Invariant Scalable Keypoints”, Proceedings of the IEEE International Conference, ICCV, 2011.

扩展功能

全部展开

版本历史记录

在 R2014a 中推出