Python2.7直方图比较-白色背景异常



我的程序的目的是取两张图像并决定它们的相似程度。我这里说的不是相同,而是相似。例如,如果我对同一网站的两个不同页面进行两张截图,它们的主题颜色可能非常相似,因此我希望程序声明它们相似。

我的问题开始时,两个图像都有一个白色的背景,几乎接管直方图计算(超过30%的图像是白色的,其余的分布)。

在这种情况下,cv2.compareHist(使用相关方法,该方法适用于其他情况)给出了非常糟糕的结果,也就是说,即使它们看起来非常不同,分数也非常高。

我想过在比较之前把白色(255)从直方图中去掉,但这需要我用256个箱子来计算直方图,当我想检查相似性时,这是不好的(我认为使用32或64个箱子是最好的)

不幸的是,由于法律原因,我不能添加我正在使用的图像

如果有人能提供一个想法,或解决它的代码,我将非常感激

非常感谢

您可以删除白色,重新排列直方图,然后比较:

  • 计算256个bin的直方图
  • 删除白色bin(或使其为零)。
  • 通过添加4个连续的bin的值,将这些bin重新分组为64个bin。
  • 执行compareHist()

这适用于任何"主色"。总的来说,您可以执行以下操作:

比较完整的直方图。如果它们不同,那么结束。如果它们相似,则查找主色(使用256 bin直方图),并执行上述过程,以从比较中删除主色。

相关内容

  • 没有找到相关文章

最新更新