从OpenCV的LBP实现中提取特征向量

时间:2018-02-08 17:11:24

标签: java python opencv

我正在开发一个人工智能程序,可用于检测图像中人物的情绪,我偶然发现了OpenCV,这对于程序的人脸检测阶段来说非常完美。 。唯一的问题是我需要能够访问局部二进制模式分类器生成的特征向量,以便我可以将此向量作为输入数据提供给AI。

所以过程将是:

  1. 图像呈现给LBP分类器
  2. LBP分类器为图像
  3. 生成特征向量
  4. 传递给AI进行处理的特征向量
  5. AI使用特征向量检测情绪
  6. 有没有办法做到这一点?这是用Java还是Python完成并不重要,我只需要一种提取特征向量的方法。

    或者,是否有不同的方法可以处理人脸图像的像素内容,以便我可以将数据传递给AI?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用Python模块skimage.feature中的local_binary_pattern?例如。

lbp = local_binary_pattern(image, lbp_sampling_points, lbp_sampling_radius, method="uniform")
(hist, _) = np.histogram(lbp.ravel(), bins=np.arange(0, lbp_sampling_points + 3), range=(0, lbp_sampling_points + 2))
# normalize the histogram
hist = hist.astype("float")
eps=1e-7
hist /= (hist.sum() + eps)

然后使用" hist"作为你的特征向量?