1

標準の順方向ガンマ 2.22 (1 / 0.45) 補正式は次のとおりです。

for R,G,B < 0.018
R´ = 4.5 * R
G´ = 4.5 * G
B´ = 4.5 * B
for R,G,B ≥ 0.018
R´ = 1.099 * R^0.45 - 0.099
G´ = 1.099 * G^0.45 - 0.099
B´ = 1.099 * B^0.45 - 0.099

0.18、4.5、1.099、0.099 という数値はどこから来たのですか? 特に、それらがどのように派生したかを知る必要があります。

私はガンマ補正関数を書いているので、知っておく必要があります。上記ではなく、累乗とスケーリングを使用する単純なアプローチでは、異なる結果が得られます。

4

1 に答える 1

1

だからここに私がそれをどこまで考え出したかがあります。

ガンマ補正関数は、次の要件で設計する必要がありました (このペーパーを参照してください)。

  • 強度 0 の電圧は 0 でなければなりません
  • 1 強度の電圧は 1 でなければなりません
  • 強度 1 に近い累乗関数 (指数 1/2.22=0.45) のように動作する必要があります。
  • 原点の近くで線形でなければなりません(低強度でのセンサーノイズの影響を減らすため)
  • [0,1] で連続かつ連続的に微分可能でなければなりません

したがって、この問題は、次のような関数 g:x->g(x) を定義する数値 {a,b,c,x0} を見つけることで解決できます。

  • g(x) = a*x^.45+b in [x0,1]
  • g(x) = cx im [0,x0[
  • g(1) = 1
  • g(0) = 0
  • リム{x->x0-}(g) = リム{x->x0+}(g)
  • リム{x->x0-}(dg/dx) = リム{x->x0+}(dg/dx)

これにより、次の方程式が得られます。

  • a+b=1
  • c*x0=a*x0^.45+b
  • c=0.45*a*x0^-0.55

に相当:

  • a=1/(1-.55*x0^.45)
  • b=-.55*x0^.45/(1-.55*x0^.45)
  • c=.45*x0^-.55/(1-.55*x0^.45)

x0 を 0.018 に設定すると、次のようになります。

  • a=1.099
  • b=-.099
  • c=4.5

残りの質問は、どのように x0 を選択したかということです。0.018 の値を正当化する理由を見つけることができませんでした... または、他の 3 つのパラメーターのいずれかで開始した可能性があります (たとえば、つま先の勾配を 4.5 に設定すると、a、b、および x0 が導出されます)。

これで問題が解決するかどうかはわかりませんが、とにかくこれが役立つことを願っています (私は数学を楽しんでいました)。

于 2012-05-27T19:18:37.673 に答える