当我们使用以下命令时,我需要知道ImageMagick自动计算的伽玛校正级别
转换in.jpg -auto-gamma out.jpg
这可能吗?
谢谢
答案 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的回答。