2016-10-05 9 views

답변

2

감사드립니다. 마크는 의견에서 지적한 바와 같이, 당신은 또한에 ImageMagick FX language을 사용할 수 있습니다

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

gamma = log(pixel_mean)/log(0.5) 

그래서 ... 당신이 뭔가를 할 수 있으며, 적용됩니다 감마 보정 의 어떤 값을 계산하는 계산하다.

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

좋은 정보! 또는 ** ImageMagick **이 수학을 할 수 있습니다 ... '-format'% [fx : ln (평균 * 65535)/ln (0.5)] '장미 :' –

+0

그것은 부정적인 감옥, 그것은 단지 반대가 아닌가? gamma = log (0.5)/log (pixel_mean) –

+0

음의 감마 조정이 필요하다고 생각합니다. 결국, 일부 이미지는 밝아지고 다른 이미지는 어두워집니다. Checkout [LevelPixel] (https://github.com/ImageMagick/ImageMagick/blob/master/MagickCore/enhance.c#L2369) & [gamma_pow] (https://github.com/ImageMagick/ImageMagick/blob/master/) MagickCore/enhance.C# L1777) 값을 적용하는 방법을 확인하십시오. – emcconville

2
-auto-gamma는 실험적인 옵션입니다. 각 색상 채널에 대해 모든 픽셀의 평균을 계산 한 다음 각 샘플에

gamma=log(mean)/log(0.5) 

을 적용합니다. 나는 지금까지 그것을 결코 시도하지 못했다. 그러나 이것은 question의 심하게 노출 부족 된 사진에 대해서는 꽤 잘 작동한다.

감마가 적용된 것은 무엇인지 직접보고 한 것이 아니지만 원본 이미지에 "식별"을 사용하고 각 채널에 대해보고 된 "평균"을보고 emcconville의 답과 같이 사용되는 gammas.