局部二进制模式

局部二值图案取决于每个像素周围的局部区域。如下图所示:

邻里插图

(图片参考: Wikipedia )

参考像素为红色,位于中心。在一定距离上定义了多个点 r 从它那里。这些是绿点。当您从左向右移动时,绿点的数量会增加。

名称中的“模式”是绿色点处的值与中心红点的值之间的关系。我们称它为二元模式,因为我们所考虑的是绿点的值是否大于红点的值。

正如您所看到的,绿点不一定正好落在另一个像素上,因此我们需要使用插值法来找到绿点的值。

API文档

这个 mahotas.features.lb 模块包含 lbp 实现LBPS的函数。

mahotas.features.lbp.lbp(image, radius, points, ignore_zeros=False)

计算线性二进制模式

返回值为 histogram 功能的数量,位置 i 对应于具有代码的像素数 i 。这些代码被压缩,因此不会使用不可能的代码。因此,这就是 i 此功能,而不仅仅是二进制代码的功能 i

参数:
imageNdarray

输入图像(二维NumPy ndarray)

radius数字(整型或浮点型)

半径(像素)

points整数

要考虑的点数Nr

ignore_zeros布尔型,可选

是否忽略零(默认值:FALSE)

退货:
features一维Numpy ndarray

要素直方图。关于对这些内容的解释,请参见上面的警告。

参考文献

基于局部二值模式的灰度旋转不变纹理分类

Ojala,T.Pietikainen,M.Maenpaa,T.计算机科学讲稿(Springer)2000,ISSU 1842,第404-420页

mahotas.features.lbp.lbp_transform(image, radius, points, ignore_zeros=False, preserve_shape=True)

计算线性二进制模式变换

返回值是转换后的像素值 histogram 功能的数量,位置 i 对应于具有代码的像素数 i 。这些代码被压缩,因此不会使用不可能的代码。因此,这就是 i 此功能,而不仅仅是二进制代码的功能 i

参数:
imageNdarray

输入图像(二维NumPy ndarray)

radius数字(整型或浮点型)

半径(像素)

points整数

要考虑的点数Nr

ignore_zeros布尔型,可选

是否忽略零。请注意,如果将此选项设置为 True ,您将需要设置 preserve_shape 变成假的。(默认:FALSE)

preserve_shape布尔型,可选

是否返回与相同形状的数组 image 。(默认:True)

退货:
features一维Numpy ndarray

要素直方图。关于对这些内容的解释,请参见上面的警告。

参考文献

基于局部二值模式的灰度旋转不变纹理分类

Ojala,T.Pietikainen,M.Maenpaa,T.计算机科学讲稿(Springer)2000,ISSU 1842,第404-420页