OpenCV中FaceRecognizer中的LBP运算符

时间:2013-09-28 11:16:18

标签: c++ algorithm opencv image-processing face-recognition

我正在研究使用OpenCV和C ++的一些图像矩阵的LBP直方图,我需要计算这些矩阵的LBP(1,8)和LBP(2,16)。最新版本的OpenCV直接支持使用默认LBP(1,8)运算符计算LBP FaceRecognizer,我可以通过在实例化对象时设置值来计算LBP(2,16)。

我的问题是哪个矩阵存储给定输入矩阵的LBP代码?深入了解实现,我发现预测(InputArray _src)函数首先调用 elbp(src,_radius,_neighbors)然后 spatial_histogram(/ < em> params /)来计算直方图。但是这些函数中的哪个矩阵存储了LBP代码?

基本上,这两个函数( elbp()和spatial_histogram())实际计算的是什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您查看trainingprediction步骤,您会看到两者的工作流程如下:

  • 收集整个图像的lbp功能(elbp)
  • 将lbp-image拆分为nxn补丁,收集每个补丁的直方图,并将它们连接到1个单个大直方图(spatial_histogram)

旁注:我对16邻居运营商的用处有些怀疑。每个补丁你需要64k直方图箱,如果你的img只有100x100和8x8补丁,你每个补丁/直方图只有144个像素。这将是非常稀疏的。并且您的功能空间将爆炸! - 少可能在这里更多!

祝你好运,快乐的黑客行为!

相关问题