相关疑难解决方法(0)

比较两个直方图

对于一个小项目,我需要将一个图像与另一个图像进行比较 - 以确定图像是否大致相同.图像很小,从25到100px不等.图像意味着具有相同的图像数据但是非常不同,因此简单的像素相等检查将不起作用.考虑以下两种可能的情况:

  1. 观看展览的博物馆中的安全(CCTV)摄像机:我们希望快速查看两个不同的视频帧是否显示相同的场景,但是照明和摄像机焦点的细微差别意味着它们将不相同.
  2. 与以48x48渲染的相同图标相比,以64x64渲染的矢量计算机GUI图标的图片(但是两个图像将缩小到32x32,因此直方图具有相同的总像素数).

我决定使用直方图来表示每个图像,使用三个1D直方图:每个RGB通道一个 - 我可以安全地使用颜色并忽略纹理和边缘直方图(另一种方法是为每个图像使用单个3D直方图,但我避免这样做,因为它增加了额外的复杂性).因此,我需要比较直方图,看看它们有多相似,如果相似性度量超过某个阈值,那么我可以放心地说各个图像在视觉上是相同的 - 我将比较每个图像的相应通道直方图(例如图像1的红色直方图带有图像2的红色直方图,然后是图像1的蓝色直方图和图像2的蓝色直方图,然后是绿色直方图 - 所以我不是将图像1的红色直方图与图像2的蓝色直方图进行比较,这只是愚蠢的.

假设我有这三个直方图,它们代表三个图像的红色RGB通道的摘要(为简单起见,使用5个像素用于7像素图像):

H1            H2            H3 

  X           X                     X
  X   X       X       X             X
X X   X X     X X   X X     X X X X X
0 1 2 3 4     0 1 2 3 4     0 1 2 3 4

H1 = [ 1, 3, 0, 2, 1 ]
H2 = [ 3, 1, 0, 1, 2 ]
H3 = [ 1, 1, 1, 1, 3 ] 
Run Code Online (Sandbox Code Playgroud)

图像1( …

image-processing histogram

49
推荐指数
5
解决办法
7万
查看次数

标签 统计

histogram ×1

image-processing ×1