【问题标题】:Extracting feature vector from OpenCV's LBP implementation从 OpenCV 的 LBP 实现中提取特征向量
【发布时间】:2026-02-03 23:20:08
【问题描述】:

我正在开发一个 AI 程序,可用于检测图像中人脸的情绪,我偶然发现了 OpenCV,它非常适合程序的人脸检测阶段。唯一的问题是我需要能够访问 Local Binary Patterns 分类器生成的特征向量,以便我可以将该向量作为输入数据提供给 AI。

所以流程是:

  1. 图像呈现给 LBP 分类器
  2. LBP 分类器为图像生成特征向量
  3. 特征向量传递给 AI 进行处理
  4. AI 使用特征向量检测情绪

有没有办法做到这一点?用Java还是Python都没有关系,我只需要一种提取特征向量的方法。

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

【问题讨论】:

    标签: java python opencv


    【解决方案1】:

    您是否尝试过使用 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”作为你的特征向量?

    【讨论】: