ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

(九) LBP特征提取

2022-02-06 09:35:28  阅读:206  来源: 互联网

标签:LBP 跳变 像素 圆形 灰度 特征提取 像素点


LBP(局部二值模式)是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著优点。

(1) 原始LBP

原始的LBP算子定义在一个3*3的窗口内,以窗口中心像素为阈值,与相邻的8个像素的灰度值比较,若周围的像素值大于中心像素值,则该位置被标记为1,否则标记为0.可以得到一个8位二进制,将这个值作为窗口中心像素点的LBP值,来反映这个3*3区域的纹理信息。LBP记录的是中心像素点与领域像素点之间的差值,所以当光照变化引起像素灰度值同增同减时,LBP变化并不明显,可以认为LBP对于光照变化不敏感,LBP检测的仅仅是图像的纹理信息,因此,进一步还可以将LBP做直方图统计,这个直方图可以用来作为纹理分析的特征算子。

 数学公式:

其中,p表示3*3窗口中除中心像素点外的第p个像素点,I(c)表示中心像素点的灰度值,I(p)表示领域内第p个像素点的灰度值。

(2) 圆形LBP

为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求,将3*3领域扩展到任意领域,并用圆形领域代替正方形领域,改进后的LBP算子在半径为R的圆形领域内有任意多个像素点。假设半径为R的圆形区域内含有P个采样点的LBP算子:

p=16,R=2时,圆形边界上的点可能不是整数或者正好落在某个格子内,可能位于交界处,可以使用双线性插值法来计算该点的像素值。

 其中,p表示圆形区域中总计P个采样点中的第p个采样点,I(c)表示中心像素的灰度值,I(p)表示圆形边界像素点中第p个点灰度值。总共有p个点在圆形边界上,点坐标计算:

(3) 旋转不变LBP

从原始LBP的定义来看,LBP算子是灰度不变的,但不是旋转不变的,图像旋转的话就会得到不同的LBP值。提出具有旋转不变性的LBP算子,即不断旋转圆形领域得到一系列初始定义的LBP值,取其最小值作为该领域的LBP值。

 在于对LBP的结果进行二进制编码,并做循环位移,取所有结果中最小的那个值:

def value_rotation(num): 
	value_list = np.zeros((8), np.uint8) 
	temp = int(num) 
	value_list[0] = temp 
	for i in range(7): 
		temp = ((temp << 1) | (temp / 128)) % 256 
		value_list[i+1] = temp 
	return np.min(value_li

(4) 均匀模式LBP

对于半径为R的圆形区域内含有P个采样点,会有2P-1种模式。很显然,随着采样点数P的增加,二进制模式的种类是呈指数趋势增长的。尽可能少且具有代表性的特征,因此需要对LBP得到的二进制模式种类进行降维,使用更少的数据量来最好地表示图像的信息,这种降维的方法就是uniform LBP。限制一个二进制序列从0到1或1到0的跳变次数不超过2次。模式数量从原来的2P种减少为P(P-1)+2种,其中P表示领域集内的采样点数。

 目的就是统计二进制数的跳变次数,跳变次数小于等于2,则各自代表一类,跳变次数大于2的所有情况归为一类。

(5) 均匀模式+旋转不变模式LBP

先计算跳变次数:

跳变次数小于等于2,则各自代表一类,跳变次数大于2的所有情况归为一类。得到的结果设为LBPuniP,R,再对其二进制编码做循环移位,求出最小值。

 

标签:LBP,跳变,像素,圆形,灰度,特征提取,像素点
来源: https://blog.csdn.net/qq_23123181/article/details/122795630

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有