【问题标题】:Image Histogram (technical inquiry)图像直方图(技术查询)
【发布时间】:2018-07-12 13:57:00
【问题描述】:

我正在对图像执行直方图均衡化,但我对我注意到的某件事有疑问。我的图像在 255 处出现峰值是否正常?下面我展示直方图。

均衡前:

均衡后:

255峰值仍然比较高是正常的吗?

【问题讨论】:

  • 这只是意味着图像有很多白色 - 可能是白色边框或背景。

标签: opencv image-processing histogram


【解决方案1】:

在直方图均衡中,就像在其他形式的强度映射中一样,每个输入强度都映射到输出图像中的另一个强度。如果输入图像有 500 个像素,值为 255,那么所有这些像素将映射到相同的输出强度,输出图像将有 500 个像素,其值为相同。

也就是说,直方图均衡化无法将这 255 个 bin 中的像素分散到不同的输出值上,因此输出直方图也将有一个同样高的 bin。

您可以做的一个技巧是将图像转换为浮点类型(我假设它是 8 位无符号整数),添加少量噪声(例如,为每个像素添加 0 到 0.5 之间的随机值),然后应用直方图均衡。在这种情况下,值为 255 的 500 个像素不再具有完全相同的值,因此可以很好地分布在输出图像中的各种强度上。

请注意,为此,直方图均衡算法必须设计为与浮点输入一起使用,并且要么使用超过 256 个 bin 的直方图,要么在进行逆映射时使用插值,以便这些相似的输入值实际上确实分布在各种输出值中。

【讨论】: