如何计算直方图(特征向量)之间的相似性百分比

how to compute percentage of similarity between histograms (feature vector)

我需要比较和计算人脸识别的灰度图像的局部二进制模式 (LBP) 直方图之间的相似度。

计算的直方图是数组形式,使用Accord.net计算。

(直方图是 int [,][] 形式,当我使用断点得到直方图时,我得到 int [3,3][256] 所以它们是 [0,0], [0,1], [0,2], [1,0] ...... [2,1], [2,2][,] 数组内部的组合, 从 0255)256 values)

我获取直方图的代码是这样的;

//LBP setting is default which are;
//Cell size of the histogram is 6 pixcel
//Block size of the histogram is 3 cells
 private int [,][] histo (BitmapSource croppedImage)
 {
     var converted = BitmapFromSource(croppedImage);
     var output = LBP.ProcessImage(converted);
     var qwert = LBP.Histograms;
     { LBP.ProcessImage(converted); };

     return qwert;
 }

如何获得直方图之间的相似度百分比?

你能给我一些提示来比较它们吗?

此外,我在一张图片下共有 48 个直方图。有什么有效的方法可以将48个直方图组合在一起与另一组48个直方图进行比较吗?以及任何有效库的建议然后 Accord.Net 来计算 LBP 直方图? Accord.Net 的资料和文档很少,这让我作为一个初学者很难学习它。

感谢您阅读我的 post 和 非常感谢您的帮助。

OpenCV 是领先的图像处理库,提供许多广为人知的 algorithms.It 在 CSharp 中可用。

对于直方图比较,卡方距离是一个很好的方法。它在 OpenCV 中可用。

对于第 3 个问题,串联直方图,您必须 串联直方图归一化到 [0-1] 范围内以便更好地进行比较。