Opencv LBP特征

LBP(局部二进制模式)是一种用于图像特征描述的高效算法,具有灰度不变性和旋转不变性。其通过比较像素点与周围点的灰度关系形成二进制模式,适用于纹理识别。旋转不变性意味着模式在旋转后仍保持相同,通过找到2^P种模式中最小的旋转不变模式来实现。LBP特征在光照变化和计算速度方面表现出优势,但在不均匀光照下可能会失效,并丢失方向信息。
摘要由CSDN通过智能技术生成

一、简介

Opencv之LBP特征(算法) - 我的锅 - 博客园

LBP(Local Binary Pattern),即局部二进制模式,是一种描述图像特征像素点与各个像素点之间的灰度关系的局部特征的非参数算法,同时也是一张高效的纹理描述算法。对一个像素点以半径r画一个圈,在圈上取K个点(一般为8),这K个点的值(像素值大于中心点为1,否则为0)组成K位二进制数。此即局部二进制模式,实际中使用的是LBP特征谱的直方统计图。在旧版的Opencv里,使用CvHaarClassifierCascade函数,只支持Harr特征。新版使用CascadeClassifier类,还可以支持LBP特征

优点:

1,旋转不变性(局部二进制循环左移或右移其表示不变)

2,一定程度上消除了光照变化的问题

3,纹理特征维度低,计算速度快

缺点:

1,当光照变化不均匀时,各像素间的大小关系被破坏,对应的LBP算子也就发生了变化

2,通过引入旋转不变的定义,使LBP算子更具鲁棒性。但这也使得LBP算子丢失了方向信息(如使局部二进制左移或右移,结果是一样的,但是图像不一样)

二、灰度不变性

 该纹理单元的中心灰度值(阈值)为85,其余8个相邻的灰度值分别为:90、74、63、134、91、83、99、103、90。根据这个阈值计算的定理进行计算,通过阈值计算后,根据图中箭头所指的方向可以得到一个局部二进制的模式,即:LBP模式=1101001,且LBP=217,。通过以上LBP算法的计算例子可以看出LBP值仅由中心像素点灰度值和相邻八个像素点的灰度值决定,LBP特征即表示了其中心像素点的特征,其值的计算还需要和周围的像素点计算完成,所以,LBP特征与周围有很大的关系,它包含了图像点,又包含了边缘和局部的特征分布信息。

三、旋转不变性LBP算法

通过上面的介绍,我们不难发现1LBP算法是具有灰度不变性的,在2002年的论文的,除了灰度不变性,作者又为LBP引入了旋转不变性与等价模式,它是怎么实现的呢?
通过上面的介绍我们知道,对于一个选定的P,LBP算法将产生2^P个不同的输出值,比如P=8时,值就有256个,这256个模式中每拿出一个都围绕中心点转动,那么在多次转动的过程中,会产生多种不同的结果,而这些结果中值最小的那个模式就是选择不变的二值模式了。比如:

 在上面的图中说明的是,图中的这8种模式,都有相同的旋转不变模式,就是十进制为15的那个值,即00001111。那么对256种模式都做这种旋转,得到最小的数作为这种模式的旋转不变模式,旋转不变模式一共有36种

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值