0

当我们使用以下命令时,我需要知道 ImageMagick 自动计算的伽马校正级别

转换 in.jpg -auto-gamma out.jpg

那可能吗?

谢谢

4

2 回答 2

2

如果我没记错的话,-auto-gamma会调用该AutoGammaImage方法,并应用以下等式。

gamma = log(pixel_mean)/log(0.5)

因此,要计算应用的伽马校正值,您可以执行以下操作...

 pixel_mean=$(identify -format '%[mean]' rose:)
 echo "l($pixel_mean)/l(0.5)" | bc -l
 #=> -14.72189

正如 Mark 在评论中指出的,你也可以使用ImageMagick FX 语言来计算。

identify -format '%[fx:ln(mean*QuantumRange)/ln(0.5)]' rose:
#=> -14.7219
于 2016-10-05T11:24:05.257 回答
2

-auto-gamma 是一个实验选项。对于每个颜色通道,它计算所有像素的平均值,然后应用

  gamma=log(mean)/log(0.5)

到每个样本。直到现在我才尝试过,但它在这个问题中严重曝光不足的照片上效果很好。

至于在转换后找出应用了什么伽玛,这不是直接报告的,但您可以在原始图像上使用“识别”并查看为每个通道报告的“平均值”以找出将是的伽玛使用,如 emcconville 的答案。

于 2016-10-05T11:48:44.273 回答