LBP特征提取原理及代码实现
作者:互联网
老规矩,先上背景,算是表示对LBP算法提出者的一种尊敬(其实,是为了装...kkk,大家都懂ha)。
一、LBP背景:
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取。而且,提取的特征是图像的局部的纹理特征。至今,仍在图像识别和人脸识别部分,有很好的效果。
二、LBP特征的原理:
从94年T. Ojala, M.Pietikäinen, 和D. Harwood提出至今,LBP经历过多次的改进,以下根据时间顺序介绍:
FirstBleed:
原始的LBP算子定义为在3*3的窗口内,以窗口内的中心点的像素值为标准,对比窗口内其余8个元素的像数值大小,大于中心点的位置用1表示,小于为0。如此,3*3领域内的8个点恰可产生8为二进制数字(通常转化为十进制表示成LBP值)即为中心点的LBP特征值。
SecondBleed:
原始的LBP提出后,研究人员不断对其改进和优化,以下是改进点。
(一):圆形LBP算子:
原始LBP算子固定为某个区域,在图像尺寸和频率纹理发生改变时,会出现很大的偏差,不能正确反映像素点周围的纹理信息。为适应不同尺寸的纹理特征,Ojal将圆形邻域替代正方形邻域。改进后的LBP允许半径为R的圆形邻域有任意多个特征点。从而得到诸如半径为R的圆形区域内含有P个采样点的LBP算子:
上图:
标签:LBP,特征,代码,邻域,纹理,中心点,算子,特征提取 来源: https://www.cnblogs.com/Q-97889181/p/12433625.html