detectORBFeatures

检测和存储ORB关键点

描述

例子

= detectORBFeatures ()返回一个ORBPoints对象,该对象包含有关ORB关键点的信息。采用面向快速旋转的特征检测方法从输入图像中检测球体关键点。

例子

= detectORBFeatures (,名称,值)使用一个或多个名称-值对参数指定选项。

例子

全部折叠

将一个映像读入工作区。

我= imread (“businessCard.png”);

将图像转换为灰度图像。

I = rgb2gray(我);

显示灰度图像。

图imshow(我)

检测和存储ORB关键点。

点= detectORBFeatures(我);

显示灰度图像并绘制检测到的ORB关键点。抑制在检测到的关键点周围的圆圈显示。ORB关键点检测在高强度方差区域。

图imshow(我)情节(点,“ShowScale”,假)

将二进制映像读入工作区。

我= imread (“star.png”);

显示图像。

图imshow(我)

检测和存储ORB关键点。指定图像分解的尺度因子为1.01,分解级别数为3。

点= detectORBFeatures(我“ScaleFactor”, 1.01,“NumLevels”3);

显示图像并绘制检测到的ORB关键点。二值形状图像中的拐点被检测为圆球关键点。

图imshow(我)情节(点)

输入参数

全部折叠

输入图像,指定为——- - - - - -N灰度图像。输入图像必须是真实的和非稀疏的。

数据类型:||int16|uint8|uint16|逻辑

名称-值对的观点

的可选逗号分隔对名称,值参数。的名字参数名称和价值为对应值。的名字必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:detectORBFeatures(我,‘NumLevels’,4)

用于图像分解的比例因子,指定为逗号分隔对所组成“ScaleFactor”一个大于1的标量。每一层的刻度值分解ScaleFactor(水平1),在那里水平为[0]范围内的任意值,Numlevels1]。给定输入图像的大小——- - - - - -N,每层分解的图像大小为 年代 c 一个 l e F 一个 c t o r ( l e v e l 1 ) ——- - - - - - N 年代 c 一个 l e F 一个 c t o r ( l e v e l 1 )

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

分解级别的数目,指定为逗号分隔对所组成的“NumLevels”一个大于等于1的标量。增加这个值,可以在更多的分解级别上从图像中提取关键点。

提取关键点的分解层数受该层图像大小的限制。对于关键点的检测,分解层次的图像大小必须至少为63×63。分解的最大层次计算为

l e v e l 马克斯 =地板 ( 日志 ( 最小值 ( , N ) ) 日志 ( 63 ) 日志 ( ScaleFactor ) ) + 1

的默认值或指定值“NumLevels”大于水平马克斯时,修改函数NumLevels水平马克斯并返回一个警告。

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

用于关键点检测的感兴趣区域,指定为逗号分隔对所组成“投资回报”及该格式的矢量[xy宽度高度]。前两个元素代表的位置感兴趣的区域的左上角。最后两个元素表示感兴趣区域的宽度和高度。感兴趣区域的宽度和高度必须分别大于或等于63。

输出参数

全部折叠

ORB关键点,返回作为一个ORBPoints对象。对象包含有关在输入图像中检测到的关键点的信息。

算法

函数使用中的ORB特征检测方法从输入图像中检测关键点[1]

参考文献

[1] Rublee, E., V. Rabaud, K. Konolige, G. Bradski。ORB:一种筛或冲浪的有效替代品。在2011年计算机视觉国际会议论文集, 2564 - 2571。巴塞罗那,西班牙:IEEE, 2011。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2019a