如何估计伽玛校正的最佳伽玛参数?

mrg*_*oom 4 opencv image-processing computer-vision

是否可以通过使用一些图像统计数据的算法来估计用于伽玛校正的最佳伽玛参数?我所说的“最佳”是指图像在校正后平均对于人类来说应该“看起来不错”。

Mar*_*ell 7

如果您的图像像素缩放范围为 0..255,您可以使用:

gamma = log(mean)/log(128)
Run Code Online (Sandbox Code Playgroud)

其中mean是图像像素的平均值。如果它们在 0..1 范围内缩放:

gamma = log(mean)/log(0.5)
Run Code Online (Sandbox Code Playgroud)

请注意,这是ImageMagick使用的技术,文档在这里,您可以使用以下命令在命令行上自行测试:

magick input.jpg -auto-gamma result.jpg
Run Code Online (Sandbox Code Playgroud)

然而,没有什么是完美的,如果图像中有很重的阴影或明亮的区域,那么看起来可能不太好。


小智 5

所谓的伽玛校正是一种奇怪的野兽,它的存在是有历史原因的。它最初是由电视广播公司实施的,目的是为了解决阴极射线管对信号幅度没有线性响应的问题。他们决定在发射器中进行补偿,而不是在每台电视机(即接收器)中进行补偿。这也有很好的动态压缩效果。

随着时间的推移,预补偿仍然保留在标准中,对于具有线性响应的现代设备,必须通过应用具有反指数的伽玛校正来取消预补偿。因此,当您从未知来源获取图像时,不确定是否需要对其进行伽马去校正,以及使用哪个指数。

也就是说,伽马指数也以完全经验的方式使用来增强或削弱暗色调,反之亦然。先验地,“最佳”伽玛指数的概念是相当主观的,并且会根据您想要赋予图片的氛围以及特定主题而有所不同。

我不知道有什么技术可以自动选择伽玛值。如果必须的话,我会选择从图像直方图中提取的一些特征(例如平均值、偏差、变异系数......)并调整伽玛,直到该标准达到特定值。由于直方图没有分析形式,因此需要反复试验过程(例如二分搜索)。

另请参阅“直方图规范”技术。