【问题标题】:Calculate a numeric value of a histogram?计算直方图的数值?
【发布时间】:2012-06-01 18:01:58
【问题描述】:

我需要比较 2 个不同图像的 2 个不同直方图(以搜索相似图像)

如何获得直方图的数值,以便执行以下操作:

if ( (image1.histogram_value - image2.histogram_value) < threshold )
 //> images are similar !

注意:

我需要一个值,因为我需要将它存储在数据库中,这样我就可以快速比较数千张图像。

【问题讨论】:

  • 直方图已经是图像的高度浓缩描述。我怀疑你可以将它浓缩成一个单一的价值,仍然保留任何有意义的东西。也许您真正想问的是如何比较两个直方图?
  • @MarkRansom:问题是我需要快速比较数千张图像。我有一个图像数据库,对于每张图像,我都会存储这个值,这样我就可以快速比较新图像
  • 你想要的东西并不意味着它是可能的。
  • 您对存储有什么限制吗?如果您只想快速比较图像,则不需要存储单个值。直方图可以存储在 k-d 树或类似结构中,看看吧。

标签: php image-processing histogram


【解决方案1】:

您应该使用直方图相似性度量来比较两个直方图。否则,使用单个数字来表示直方图是没有意义的,除非您的直方图始终是具有单个参数的众所周知的密度函数(这不是任意图像的情况)。

因此,您可以使用以下措施之一(以及许多其他措施):

  • 巴塔查里亚系数
  • 欧几里得距离

【讨论】:

  • 请考虑在我的数据库中我有成千上万的图像。我需要一个可以和新的值相媲美的值,否则搜索太慢了
  • 您可以尝试减少直方图中的 bin 数量。还有更高级的方法,例如多尺度直方图 (springerlink.com/content/739669y5uchg2lh7) 来提高性能。请不要误会我的意思,但是用一个数字表示整个图像是没有意义的。我的意思是你可以做到,但它不会包含足够的信息来做任何事情。
猜你喜欢
  • 2011-09-17
  • 2012-10-19
  • 1970-01-01
  • 2014-04-05
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
相关资源
最近更新 更多