extractLBPFeatures
提取局部二值模式(LBP)的特性
描述
例子
使用枸杞多糖特性来区分图像的纹理
读取图像包含不同的纹理。
brickWall = imread (“bricks.jpg”);rotatedBrickWall = imread (“bricksRotated.jpg”);地毯= imread (“carpet.jpg”);
显示图像。
图imshow (brickWall)标题(“砖头”)
图imshow (rotatedBrickWall)标题(“旋转砖”)
图imshow(地毯)标题(“地毯”)
从图像中提取枸杞多糖特征对纹理信息进行编码。
lbpBricks1 = extractLBPFeatures (brickWall,“正直”、假);lbpBricks2 = extractLBPFeatures (rotatedBrickWall,“正直”、假);lbpCarpet = extractLBPFeatures(地毯、“正直”、假);
计LBP特征之间的相似性通过计算它们之间的平方误差。
brickVsBrick = (lbpBricks1 - lbpBricks2) ^ 2;brickVsCarpet = (lbpBricks1 - lbpCarpet) ^ 2;
可视化平方误差比较砖与砖和砖与地毯。平方误差较小的图像时也有类似的纹理。
图酒吧([brickVsBrick;brickVsCarpet)”,“分组”)标题(“LBP直方图的平方误差”)包含(的LBP直方图的垃圾箱)传说(砖与砖旋转的,“砖vs地毯”)
应用规范化L1 LBP特征
读入样本图像并将其转换为灰度。
我= imread (“gantrycrane.png”);I = im2gray(我);
非规范提取枸杞多糖功能,这样您就可以使用一个定制的标准化。
lbpFeatures = extractLBPFeatures(我“CellSize”(32 32),“归一化”,“没有”);
重塑成枸杞多糖特性数量的邻居——- - - - - -细胞的数量数组访问直方图为每个单独的细胞。
numNeighbors = 8;numBins = numNeighbors * (numNeighbors-1) + 3;lbpCellHists =重塑(lbpFeatures numBins, []);
正常使用L1范数每个枸杞多糖细胞柱状图。
lbpCellHists = bsxfun (@rdivide lbpCellHists,总和(lbpCellHists));
1——重塑LBP特征向量N特征向量。
lbpFeatures =重塑(lbpCellHists 1 []);
输入参数
我
- - - - - -输入图像
米——- - - - - -N二维灰度图像
输入图像,作为指定米——- - - - - -N二维灰度图像是真实的,和non-sparse。
数据类型:逻辑
|单
|双
|int16
|uint8
|uint16
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“NumNeighbors”
,8
算法参数
LBP算法参数控制局部二进制模式计算输入图像中的每个像素。
NumNeighbors
- - - - - -数量的邻居
8
(默认)|正整数
使用的邻居数量来计算输入图像中的每个像素的枸杞多糖,指定为逗号分隔两人组成的NumNeighbors
”,一个正整数。选择的邻居从每个像素周围圆对称模式。增加邻居编码更详细的数量在每个像素。典型值的范围从4
来24
。
半径
- - - - - -圆形半径模式选择邻居
1
(默认)|正整数
圆形半径模式用于选择邻居输入图像的每个像素,指定为逗号分隔两人组成的“半径
”,一个正整数。捕捉细节在较大的空间范围内,增加半径。典型值的范围从1
来5
。
正直的
- - - - - -旋转不变性的旗帜
真正的
|逻辑标量
旋转不变性国旗,指定为逗号分隔两人组成的“正直的
”和一个逻辑标量。当你设定这个属性真正的
LBP特征不旋转编码信息。设置”正直的
”假
当需要旋转不变的特性。
插值
- - - - - -插值法
“线性”
(默认)|“最近的”
插值法用于计算像素的邻居,指定为逗号分隔两人组成的“插值
”,要么“线性”
或“最近的”
。使用“最近的”
为更快的计算,但精度较低。
直方图参数
直方图参数确定分布的二进制模式聚合在图像生成的输出特性。
输出参数
特性
- - - - - - LBP特征向量的
1——- - - - - -N向量
LBP特征向量,作为1 -返回N向量的长度N代表的数量特征。LBP特征编码局部纹理信息,您可以使用等任务的分类、检测和识别。函数将输入图像划分成重叠细胞。收集信息在更大的区域,选择较大的细胞大小。然而,当你增加单元格大小,你失去了当地的细节。N,取决于图像中细胞的数量,numCells的邻居,P,正直的
参数。
细胞的数量计算:
numCells= prod (地板上 (大小 (我 )/CellSize )) |
图中显示一个图像与9细胞柱状图。每一个柱状图描述了一个枸杞多糖的特性。
每个单元中的直方图的大小(1,B),B直方图是箱子的数量。箱子的数量取决于正直的
财产和邻居的数量,P。
正直的 | 数量的垃圾箱 |
---|---|
真正的 |
(P (x)P1)+ 3) |
假 |
(P+ 2) |
整个LBP特征长度,N,取决于细胞的数量和箱子的数量,B:
N=numCellsxB |
引用
[1]Ojala, T。,米。Pietikainen, and T. Maenpaa. “Multiresolution Gray Scale and Rotation Invariant Texture Classification With Local Binary Patterns.”IEEE模式分析与机器智能。问题7卷。24日,2002年7月,页971 - 987。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
不生成一个与平台相关的库。
版本历史
介绍了R2015b
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。