LBP特征提取算法

LBP特征提取算法
预览:

[原]LBP特征提取算法

2013-5-9阅读1039 评论1

本文的PDF版本,以及涉及到的所有文献和代码可以到下列地址下载:

1、PDF版本以及文献:http://download.csdn.net/detail/ty101/5349816

2、原作者的MATLAB代码:http://download.csdn.net/detail/ty101/5349894 LBP一种用来描述图像纹理特征的算子,该算子由芬兰奥卢大学的T.Ojala等人在1996年提出[1],在2002年时,Timo Ojala等人在PAMI上又发表了一篇关于LBP的文章[2],该文章非常清楚的阐述了多分辨率、灰度尺度不变和旋转不变、等价模式的改进的LBP特征。LBP的核心思想就是:以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。呃,这句话实在有些拗口-_-#还是举例吧,下面我们从最简单的入手,一步一步讲解整个LBP特征(整个LBP特征提取流程请看文章最后的appendix)。

l 初级的LBP计算方法(先撇开多分辨率、灰度尺度不变、旋转不变^_^) 假设我们有一个3*3的窗口,窗口内的值代表每个像素的灰度值,如下所示:

可以看到中心像素点的灰度值为6,我们将这个中心像素点的灰度值与它周围8领域的像素值大小做比较,也就是说我们将7、9、8、7、1、2、5、6这8个数字分别与6做比较,大于6,我们则把右边相应的方格置为1,小于6则置为0。之后我们就得右边的窗口,我们按逆时针方向把这些1和0连起来就得到了所谓的LBP模式:11110001(注意是二进制的),然后将这个数转换为10进制,也就是241。

Tips:扩展后的LBP中的窗口形状

上面所说的版本是Timo Ojala在1996年提出的,在2002年的时候Timo Ojala在PAMI上的文章对上述算法进行了拓展。拓展后的算法可以设置邻域和半径的属性,用P来表示邻域像素点个数,用R来表示半径,上面我们描述的初级版本就是P=8,R=1.0

的版本(不考虑插值,后面会详细描述)。下图描述了P,R取不同值时的情形:

第1页/共6页 下一页>尾页

寻找更多 "LBP特征提取算法"