图像处理特征篇-lbp特征
发布时间
阅读量:
阅读量
lbp特征
该方法用于描述图像局部纹理特征;该方法具有旋转和亮度独立性;该方法由T. Ojala、M.Pietikäinen和D.Harwood于1994年提出;该方法提取的特征反映了图像局部的纹理特性。
我们来探讨lpb特征的主要类型;在图像处理领域中提取lpb特征通常遵循这三大类型;我们将会逐一说明每种模式的具体应用。
一、等价模式(Uniform Pattern)
为了应对二进制模式数量过多所带来的挑战,并提升统计特性,Ojala等提出了将LBP算子的模式种类限制在特定范围内以实现降维的方法
这里的"samples""指的是邻域的数量
即能够有效地区分不同的图像类别
即能够有效地区分不同的图像类别
二、旋转不变模式
在邻域中存在m个点时(其中m=n),这些循环移位后的二进制数共有n位,并经过连续左移(n-1)次后会得到一个结果序列;随后对该结果序列中的所有元素进行比较并将其最小值赋存;接着为每个选出的最小值分配一个索引号,并从零开始计起
if strcmp(mappingtype,'ri') %Rotation invariant lbp的一种类型 旋转不变的
tmpMap = zeros(2^samples,1) - 1;
for i = 0:2^samples-1
rm = i;
r = i;
for j = 1:samples-1
r = bitset(bitshift(r,1,samples),1,bitget(r,samples)); %rotate left
if r < rm
rm = r;
end
end
if tmpMap(rm+1) < 0
tmpMap(rm+1) = newMax;%newMax初始值为0,newMax指的是number of patterns in the resulting LBP code
newMax = newMax + 1;
end
table(i+1) = tmpMap(rm+1);%table为1*256向量 每种二进制的值经过循环左移后取最小值对应的index
end
end
三、等价模式&旋转不变模式
在两者的结合下(lbp特征的种类个数)等于samples + 2(其中samples代表邻域点的数量),这背后的原因是什么呢?如果想深入了解细节的话,请参考下方的代码示例。
if strcmp(mappingtype,'riu2') %Uniform & Rotation invariant
newMax = samples + 2;
for i = 0:2^samples - 1
j = bitset(bitshift(i,1,samples),1,bitget(i,samples)); %rotate left
numt = sum(bitget(bitxor(i,j),1:samples));
if numt <= 2
table(i+1) = sum(bitget(i,1:samples));%table为1*256向量 第一个元素代表0,依次下去 其中的值是类型的index这里面有10种
else
table(i+1) = samples+1;
end
end
end
全部评论 (0)
还没有任何评论哟~
