def get_lbp(self, image): """ 获取给定图片的LBP,划分成几个区域后 :param rgb: :return: """ gridx = 6 gridy = 6 widx = 8 widy = 8 hists = [] for i in range(gridx): for j in range(gridy): mat = image[i * widx: (i + 1) * widx, j * widy: (j + 1) * widy] lbp = skif.local_binary_pattern(mat, 8, 1, 'uniform') max_bins = 10 hist, _ = np.histogram(lbp, normed=True, bins=max_bins, range=(0, max_bins)) hists.append(hist) out = np.array(hists).reshape(-1, 1) return out
时间: 2024-02-10 19:32:39 浏览: 65
这是一个函数,用于获取给定图片的局部二值模式(Local Binary Pattern,LBP)特征。函数需要一个参数image,表示要提取特征的图片。
该函数将图片划分为gridx*gridy个区域,每个区域的大小为widx*widy,然后对每个区域提取LBP特征。LBP是一种常用的图像特征提取方法,它通过对每个像素与周围8个像素的灰度进行比较,得到一个二进制数,将这些二进制数连起来形成一个LBP图像。然后,将LBP图像中的像素值分为若干个区间,统计每个区间中像素的数量,得到一个直方图。该直方图即为该区域的LBP特征。
最终,将所有区域的LBP特征组合成一个向量,并返回该向量。
阅读全文