直方图匹配 - 图像处理 - c / c ++

时间:2010-05-27 15:38:40

标签: math statistics probability histogram

我有两个直方图。

int Hist1[10] = {1,4,3,5,2,5,4,6,3,2};

int Hist1[10] = {1,4,3,15,12,15,4,6,3,2};

Hist1的分布类型为多模式;

Hist2的分布类型为单模式,具有单个突出峰值。

我的问题是

  1. 有没有办法以编程方式确定分发类型?
  2. 如何量化这两个直方图是相似还是不相似?
  3. 由于

5 个答案:

答案 0 :(得分:1)

这些只是猜测,但我会尝试将每个分布拟合为高斯分布,并使用类似R平方值的值来确定分布是否是单模态的。

关于两个分布之间的相似性,我会尝试做autocorrelation并使用自相关中的峰值正值作为相似性度量。这些想法非常粗糙,但希望他们能给你一些想法。

答案 1 :(得分:1)

对于#2,您可以计算他们的cross-correlation(只要可以对存储桶本身进行排序)。这样可以粗略估计“相似性”。

答案 2 :(得分:1)

拉​​吉,

我在你的另一个问题(automatically compare two series -Dissimilarity test)中发布了一个C函数,它将计算两组相似数据之间的差异。它实际上是为了告诉您真实数据与预测数据的匹配程度,但我怀疑您可以将它用于您的目的。

基本上,误差越小,两组越相似。

答案 3 :(得分:0)

Comparison of Histograms(适用于云端建模)。

(那是一个MS .doc文件。)

答案 4 :(得分:0)

有各种各样的软件包可以为您分配已知的离散分布“Minitab,STATA,R等”。R中对拟合分布的引用是here。我不建议从头开始编程。

关于分布比较,如果两个分布都不符合已知分布(泊松,二项式等),则需要使用here描述的非参数方法。