如何估算用于伽玛校正的最佳伽玛参数?

时间:2020-08-03 13:10:23

标签: opencv image-processing computer-vision

是否可以通过使用某些图像统计信息的算法来估算gamma correction的最佳伽玛参数?所谓“最佳”,是指校正后的图像平均应该对人类“看起来不错”。

2 个答案:

答案 0 :(得分:3)

如果图像像素的缩放比例在0..255范围内,则可以使用:

gamma = log(mean)/log(128)

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

gamma = log(mean)/log(0.5)

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

magick input.jpg -auto-gamma result.jpg

虽然没有什么是完美的,但是如果图像中有浓重的阴影或明亮的区域,效果可能并不理想。

答案 1 :(得分:3)

所谓的伽玛校正是一种怪兽,出于历史原因而存在。它最初是由电视广播公司实施的,以处理阴极射线管对信号幅度没有线性响应的事实。他们决定在发射器中进行补偿,而不是在每个电视机中(即在接收器中)进行补偿。这也具有不错的动态压缩效果。

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

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

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

还可以看看“直方图规范”技术。