在机器视觉领域,局部二进制模式(LBP)是非常重要的功能。 LBP可以有效地处理光线变化,并广泛用于纹理分析和纹理识别。 LBP的算法非常简单。简单来说,它将图像中某个像素的灰度值与其相邻像素的灰度值进行比较,如下图所示:如果相邻像素值大于此点,则将其分配为1,否则,将其分配为0,以便可以从左上角开始形成一个位链,然后可以将该位链转换为十进制数,该十进制数可以表示为:其中s表示阈值函数满足如下关系:通过这种转换,一个像素及其邻域之间的差异可以用一个数字表示,因为LBP记录了该像素与邻域像素之间的差异,所以照度的变化导致像素值相同地增减LBP的大小不会改变LBP的大小,尤其是在局部区域。我们可以认为图像照明引起的像素值变化是单向的,因此LBP可以很好地保留图像中像素值之间的差异。 。 LBP可以进一步用于直方图统计,并且该直方图可以用作纹理分析的特征运算符。我们可以看到R代表邻域的半径,P代表邻域的像素数或位链的长度。如果邻域的半径为1,则邻域的像素数为8,位链的长度为8。如果邻域半径为2,则邻域的像素数为16,则邻域的长度。位链是16,邻居的半径是3,邻居的像素数是24,位链的长度是24,如下图所示指示:我们考虑最简单的情况是R = 1 ,P = 8。 LBP映射到0到255之间的值。如果用直方图表示,则需要256维数组来存储直方图。为了减少存储空间,有人提出了一种统一模式编码方法,该方法基于位链中0到1之间的转换次数来定义统一模式。如果位链中0到1之间的转换次数不超过两次,则该位链是统一模式,例如000000000转换时间为0,00001111转换时间为1,00011100转换时间为2,01101100转换时间为4,01101010,转换次数为6。不超过两次转换的模式是统一模式。可以证明,大多数二进制模式是统一模式。有了这个定义,对于8位LBP,您可以将256个尺寸减少到59个尺寸,减少了90%。