在ImageMagick -auto-gamme选项中输出计算出的gamma

时间:2016-10-05 10:20:29

标签: imagemagick gamma

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

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

这可能吗?

谢谢

2 个答案:

答案 0 :(得分: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 language来计算。

identify -format '%[fx:ln(mean*QuantumRange)/ln(0.5)]' rose:
#=> -14.7219

答案 1 :(得分:2)

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

  gamma=log(mean)/log(0.5)

每个样本。我直到现在才尝试过它,但它对question中严重曝光不足的照片确实很有效。

至于在转换后发现应用了哪些伽玛,并未直接报告,但您可以使用"识别"在原始图像上,看看"意思是"报告为每个频道找出将要使用的gammas,如emcconville的回答。