宁波找网站建设企业,沈阳关键词推广,建设项目验收网站,外贸网站建站n『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】229. 特征描述之 LBP 算子比较#xff08;skimage#xff09; 局部二值模式#xff08;LBP#xff0c;Local binary patterns#xff09;是一种用来描述图像局部纹理特征的算子#xff0c;它具…『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】229. 特征描述之 LBP 算子比较skimage 局部二值模式LBPLocal binary patterns是一种用来描述图像局部纹理特征的算子它具有旋转不变性和灰度不变性的优点 。 LBP 特征计算简单、效果较好在计算机视觉领域得到了广泛的应用。 4.2.2 改进的 LBP 纹理特征描述子
基本 LBP 算子
基本的 LBP 算子定义在 3×3 的窗口内以窗口中心像素为阈值与相邻的 8 个像素的灰度值比较大于阈值则标记为 1否则标记为 0。从右上角开始顺时针旋转排列 8 个 0/1标记值得到一个 8 位二进制数就是窗口中心像素点的 LBP 值。 LBPP,R(xc,yc)∑p0P−1S(gp−gc)∗2pS(gp−gc){1,gp≥gc0,gpgcLBP_{P,R} (x_c,y_c) \sum_{p0}^{P-1} S(g_p-g_c)*2^p\\ S(g_p-g_c) \begin{cases} 1, \quad g_p \ge g_c\\ 0, \quad g_p \lt g_c \end{cases} LBPP,R(xc,yc)p0∑P−1S(gp−gc)∗2pS(gp−gc){1,gp≥gc0,gpgc
基本的 LBP 纹理特征描述子只覆盖了一个固定半径范围内的小区域。这种特征描述方法是随尺度变化的当图像尺度变化时 LBP 特征编码也会发生变化因此在大尺寸图像时就不能准确提取到所需的纹理特征不能反映所描述的纹理信息。
圆形扩展模式Circular LBP
为了满足尺度、灰度和旋转不变性的要求Ojala 等对 LBP 算子进行了改进将 3×3 邻域扩展到任意邻域并用圆形邻域代替了方形邻域。改进算子允许在半径为 R 的圆形邻域内有 P 个采样点称为扩展 LBP 算子Extended LBPCircular LBP。
旋转不变模式Rotation invariant
LBP 算子是灰度不变的但不是旋转不变的。图像旋转后的 LBP 值是不同的从而影响识别精度。 Maenpaa等提出具有旋转不变性的 LBP 算子不断旋转圆形邻域得到一系列 LBP 值将最小的 LBP 值作为该邻域的 LBP 值从而具有旋转不变性。
等价模式Uniform Pattern
Ojala提出了“等价模式Uniform Pattern”把某个最多有两次 0/1 跳变的二进制组合所对应的 LBP 定义为一个等价模式类其它所有的模式都定义为混合模式类。这种方法将模式数量由 2P2^P2P 种减少为 P(P−1)2P(P-1)2P(P−1)2 种显著减少了特征向量的维数可以减少高频噪声的影响。
此外还有各种改进的 LBP 方法例如
TLBP中心像素与周围所有像素比较而不是选择 P 个采样点DLBP考察四个方向的灰度变化每个方向用 2bits 编码MLBP用采样点像素的平均值代替中心像素进行比较处理MB-LBP将图像级联分块以小区域代替像素单位进行处理VLBP 对于动态图像序列考虑前 p 帧图像和后 p 帧图像的 LBP 特征RGB-LBP对彩色图像的 RGB 颜色分量分别计算 LBP 后再进行连接 skimage.feature 函数 local_binary_pattern
skimage 的特征提取库 skimage.feature 提供了函数 local_binary_pattern可以实现多种 LBP 特征描述算子。
函数说明
local_binary_pattern(image, P, R, methoddefault)参数说明
image单通道图像P整数圆形邻域中采样点数量R实数圆形邻域的半径method处理方法 ‘default’基本 LBP默认选项‘ror’扩展 LBP圆形 LBP‘uniform’均匀模式等价模式 LBP‘nri_uniform’非旋转不变的均匀模式 LBP‘var’方差度量局部图像纹理的对比度
这些方法的比较如例程 14.9 所示。 例程 14.9特征描述之 LBP 算子比较skimage # 14.9 特征描述之 LBP 算子比较 (skimage)from skimage.feature import local_binary_patternimg cv2.imread(../images/fabric2.png, flags1)gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 灰度图像# LBP算法中范围半径的取值r 2 # 邻域半径p 8 * r # 邻域采样点数量# 基本 LBP灰度不变basicLBP local_binary_pattern(gray, 8, 1)# 圆形 LBP扩展灰度和旋转不变circleLBP local_binary_pattern(gray, p, r, methodror)# 旋转不变 LBPinvarLBP local_binary_pattern(gray, p, r, methodvar)# 等价 LBP灰度和旋转不变uniformLBP local_binary_pattern(gray, p, r, methoduniform)plt.figure(figsize(9, 6))plt.subplot(231), plt.axis(off), plt.title(origin)plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))plt.subplot(232), plt.axis(off), plt.title(gray)plt.imshow(gray, gray)plt.subplot(233), plt.axis(off), plt.title(basic LBP)plt.imshow(basicLBP, gray)plt.subplot(234), plt.title(extendLBP (r{},p{}).format(r,p))plt.imshow(circleLBP, gray), plt.axis(off)plt.subplot(235), plt.title(invariantLBP (r{},p{}).format(r,p))plt.imshow(invarLBP, gray), plt.axis(off)plt.subplot(236), plt.title(uniformLBP (r{},p{}).format(r,p))plt.imshow(uniformLBP, gray), plt.axis(off)plt.tight_layout()plt.show()【本节完】 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125672432) Copyright 2022 youcans, XUPT Crated2022-7-7 227. 特征描述之 LBP 纹理特征算子 228. 特征描述之 extendLBP 改进算子 229. 特征描述之 LBP 算子比较skimage