1.Local Binary Pattern( LBP) 算法原理
局部二值模式(Local Binary Pattern, LBP)是一种用于描述图像纹理特征的算法。它通过对图像的每个像素点与其邻域像素进行比较,得到一个二进制编码来表示该像素点的纹理信息。
LBP 算法的基本步骤如下:
- 选择一个中心像素点,并定义一个以该像素点为中心的圆形邻域。
- 将邻域内的像素点与中心像素点进行比较,将相邻像素点的灰度值与中心像素点的灰度值进行比较。
- 如果相邻像素点的灰度值大于或等于中心像素点的灰度值,则将该位置标记为 1;否则,标记为 0。
- 将邻域内的所有标记组合成一个二进制数,这个二进制数就是中心像素点的 LBP 值。
- 重复以上步骤,对图像中的每个像素点都计算 LBP 值。最终得到表示整个图像纹理特征的 LBP 图像或 LBP 特征向量。
根据具体的问题和应用需求,可以采用不同的 LBP 变体:
- 默认 LBP:对比邻域像素和中心像素的灰度值大小关系,得到二进制编码。该编码不具备旋转不变性和尺度不变性。
- 旋转不变 LBP(Rotation invariant LBP,RILBP):在默认 LBP 基础上,对比邻域像素和中心像素的灰度值大小关系时,进行循环偏移操作,以获取旋转不变性。
- 均匀模式 LBP:只保留具有少于等于两个跳变(从0到1或从1到0)的 LBP 模式,将其他模式称为“非均匀”模式。这样做可以减少特征维度,并产生更加稳定的纹理描述符。
- 非旋转不变的均匀模式 LBP:结合了旋转不变性和均匀模式,生成具有旋转不变性和