0

Core Image フィルター CIGammaAdjust を使用して自動ガンマ補正を実行したいと考えています。CIGammaAdjust では、次のコードのように「inputPower」値を設定する必要があります。

CIFilter* gammaFilter = [CIFilter filterWithName:@"CIGammaAdjust"];
[gammaFilter setValue:resultImage forKey:@"inputImage"];
[gammaFilter setValue:???  forKey: @"inputPower"];
resultImage = [gammaFilter valueForKey: @"outputImage"];

問題は、入力電力の値をどのように計算すればよいかということです。画像のガンマ値を計算しました。イメージ ガンマ値を入力電力に変換するにはどうすればよいですか? ガンマ値の逆数だけを使用してみましたが、正しい結果が得られないようです。

4

1 に答える 1

1

https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CoreImageFilterReference/Reference/reference.html#//apple_ref/doc/uid/TP30000136-DontLinkElementID_69

これは、mac dev ライブラリの「...

inputPower: 属性タイプが CIAttributeTypeScalar で、表示名が Power である NSNumber オブジェクト。

デフォルト値: 0.75

考察: このフィルタは通常、ディスプレイの非線形効果を補正するために使用されます。ガンマを調整すると、黒と白の間の遷移の傾きが効果的に変わります。次の式を使用します。

pow(s.rgb、vec3(パワー))

あなたの質問に答えるには、比率を試してみてください。inputPower の最大値は 3.00 で、最小値はおそらく 0 ~ .1 です。私はあなたのガンマ値を取り、それを可能な最大ガンマ値で割ります。次に、その見つかった値に最大 inputPower 値 (2.9 ~ 3) を掛けます。

お役に立てれば!

于 2014-01-21T03:32:11.513 に答える