主要内容

extractHOGFeatures

提取的梯度的柱状图(猪)特性

描述

例子

特性= extractHOGFeatures ()返回提取猪从真彩或输入图像灰度特性,。返回1 -的特性N向量,N猪长。返回的特征编码从区域内图像局部形状信息。您可以使用此信息对于许多任务,包括分类、检测和跟踪。

例子

(特性,validPoints)= extractHOGFeatures (,)返回猪特征提取在指定的点位置。这个函数也回报validPoints,其中包含的输入点位置的周边地区是完全包含在。规模与点相关联的信息将被忽略。

例子

(___,可视化)= extractHOGFeatures (,___)可以返回一个猪特征可视化,使用任何前面的语法。你可以显示这个可视化使用情节(可视化)。

(___)= extractHOGFeatures (___,名称,值)使用附加选项指定一个或多个名称,值对参数,使用任何前面的语法。

例子

全部折叠

读感兴趣的图像。

img = imread (“cameraman.tif”);

提取猪的特性。

[featureVector, hogVisualization] = extractHOGFeatures (img);

情节猪在原始图像的特性。

图;imshow (img);持有;情节(hogVisualization);

图包含一个坐标轴对象。坐标轴对象包含3图像类型的对象,线。

读感兴趣的图像。

I1 = imread (“gantrycrane.png”);

提取猪的特性。

[hog1,可视化]= extractHOGFeatures (I1,“CellSize”[32 32]);

显示原始图像和猪的特性。

次要情节(1、2、1);imshow (I1);次要情节(1、2、2);情节(可视化);

图包含2轴对象。坐标轴对象1包含2线类型的对象。坐标轴对象2包含一个类型的对象的形象。

读感兴趣的图像。

I2 = imread (“gantrycrane.png”);

在图像检测和选择最强的角落。

角落= detectFASTFeatures (im2gray (I2));最强= selectStrongest(角落,3);

提取猪的特性。

[hog2, validPoints ptVis] = extractHOGFeatures (I2,最强的);

显示原始图像的叠加猪功能最强的角落。

图;imshow (I2);持有;情节(ptVis“颜色”,“绿色”);

图包含一个坐标轴对象。坐标轴对象包含6类型的对象形象,直线,矩形。

输入参数

全部折叠

输入图像中指定——- - - - - -N3真彩或——- - - - - -N二维灰度。输入图像必须是真实的,nonsparse价值。如果你有紧密裁剪图片,你可能会失去形状猪函数可以编码的信息。可以避免失去这个信息,包括一个额外的保证金补丁包含背景像素的像素。

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

中心位置的一个广场附近,指定为一个BRISKPoints,SURFPoints,MSERRegions,ORBPointscornerPoints对象,或一个2的矩阵的数量(x,y)坐标。函数提取描述符从社区完全包含在图像边界。你可以设置的社区的大小BlockSize参数。只有社区完全包含在图像被用来确定有效的输出点。函数忽略了规模与这些问题相关的信息。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“BlockSize”,(2 - 2)设置BlockSize是一个2×2的平方。

猪细胞的大小,指定在像素2-element向量。捕捉到大规模的空间信息,增加细胞大小。当你增加细胞的大小,你可能会失去小规模的细节。

细胞的数量在一个块中,指定为一个2-element向量。大的块大小值降低能够抑制局部照明的变化。因为像素的数量在一个大的块,这些变化可能与平均迷路。减少块大小有助于捕捉当地像素的重要性。小块大小可以帮助抑制照明猪的变化特性。

相邻块之间的重叠细胞数量,指定为一个2-element向量。以确保足够的对比度归一化,至少选择一个重叠块大小的一半。大的重叠值可以捕获更多的信息,但他们产生较大的特征向量大小。这个属性只适用于当你从区域提取猪的特性,而不是从点位置。当你提取猪特征点位置,只有一块使用,因此,不会发生重叠。

方向直方图箱数量,指定为积极的标量。编码细定位细节,增加箱子的数量。增加这个值增加的大小特征向量,这需要更多的时间来处理。

选择定位值,指定为一个逻辑标量。当你设定这个属性真正的,定位值均匀间隔的-180和180度之间的垃圾箱。当你设定这个属性从0到180年,它们是等间距的。在本例中,值小于0的θ放入θ值+ 180本。使用签名的取向可以帮助区分亮到暗与黑到灰区域内图像的转换。

输出参数

全部折叠

提取猪的特性,作为一个1 -返回N向量或一个P——- - - - - -矩阵。编码的特性从区域或局部形状信息从点位置在一个图像。您可以使用此信息对于许多任务,包括分类、检测和跟踪。

特性输出 描述
1 -N向量 猪长,N,是基于图像大小和参数值的函数。
N=刺激([BlocksPerImage,BlockSize,NumBins])
BlocksPerImage=地板上((大小()。/CellSize- - - - - -BlockSize)/ (BlockSize- - - - - -BlockOverlap)+ 1)
P——- - - - - -矩阵 P是有效的点的数量的周边地区是完全包含在输入图像中。您提供的输入值中提取点的位置。
周边地区计算为:
CellSize。*BlockSize
特征向量的长度,,计算:
刺激([NumBins,BlockSize])。

例1。安排猪的直方图特征向量

下图显示了一个图像有六个细胞。

如果你设置BlockSize(2 - 2),这将使每个猪块的大小,2×2细胞。细胞的大小(以像素为单位)。你可以设置它CellSize财产。

猪特征向量是由猪块安排。细胞直方图,H (Cyx),1 -NumBins

下图展示了猪1×1细胞重叠块特征向量。

与每一个相关的有效点特性描述符向量输出。这个输出可以作为一个返回cornerPoints对象,BRISKPoints,SURFPoints对象,MSERRegions对象,ORBPoints对象或一个2的矩阵x,y)坐标。函数提取有效的兴趣点的描述符区域的大小等于CellSize。*BlockSize]。提取的描述符返回的相同类型的对象或矩阵作为输入。必须完全包含在该地区的形象。

猪特征可视化,作为一个对象返回。可视化的函数输出这个可选参数提取的猪的特性。您可以使用情节方法与可视化输出。看到猪的特性提取和阴谋的例子。

猪特性是使用一个网格均匀间隔的可视化玫瑰情节。细胞大小和图像的大小决定了网格尺寸。每个玫瑰图显示了一个猪细胞内分布的梯度方向。每个花瓣的玫瑰情节的长度比例来表示每个细胞内的定位使直方图的贡献。情节显示边缘方向,这是正常的梯度方向。观看情节与边缘方向,可以让你更好的理解猪的形状和轮廓编码。每个玫瑰图显示两次NumBins花瓣。

您可以使用以下语法来绘制猪特点:

情节(可视化)块猪的特性作为数组的情节。
情节(可视化,AX)入轴AX情节猪特性。
情节(___,“颜色”,colorValue)指定用于情节猪的颜色特性,colorValue代表颜色为1×3 RGB向量,一个简短的,或长颜色名称,描述的颜色值表。

更多关于

全部折叠

颜色值

颜色名称 短名称 RGB值 外观
“红色” “r” (1 0 0)

红色的示例

“绿色” “g” (0 1 0)

样品的颜色绿色

“蓝色” “b” (0 0 1)

样品的颜色蓝色

“青色” “c” (0 1 1)

样品的颜色青色

“红色” “m” (1 0 1)

样品的颜色红色

“黄色” “y” (1 1 0)

样品的颜色黄色

“黑色” “k” (0 0 0)

样品的颜色黑色

“白色” “w” (1 1 1)

样品的颜色白色

引用

[1]中间人,n和b区格。“人类的面向梯度直方图检测”,国际工程师协会下属的计算机协会的会议上计算机视觉和模式识别,卷1(2005年6月),页886 - 893。

扩展功能

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

版本历史

介绍了R2013b