省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

新バージョンB チャンネル再建法ツールにおける 褐色補正マスクの計算方法

f:id:yasuo_ssi:20210310145522j:plain

 今回、褐色補正マスクの計算方法についても解説します。

 

 そもそも褐色、オレンジ色とは RGB 値的に見ると次のような特徴を持っています。R 値が G 値より多少高く、また B 値は、R, G 値より大きく落ちます。しかし、拡張疑似フラットフィールド補正を B チャンネルに掛けることにより、B 値が大きく上昇します。その結果、褐色やオレンジが、紫やマゼンタに近づいてしまいます。さらに黄変画像をフィルムスキャナーでスキャンして、自動ホワイトバランスを有効にしておくと、黄色い部分を補償しようとして青い方向に補正しようとする場合がありますので、上と同様に褐色やオレンジが、紫やマゼンタに近づくことがあります。

 そのような部分に対して、B 値を引き下げる補正を行うことで、褐色やオレンジを戻すことを考えます。

■褐色・オレンジ透過マスクの計算

 このために、本ツールでは、オリジナルの B 画像もしくは補正後の B 画像から一律 値を引き下げた画像を用意し、それに対し褐色・オレンジ透過マスクを掛けることで、褐色・オレンジ部分の B 値の引き下げを図ります。このマスクが褐色補正マスクです。従って褐色・オレンジ部分がなるべく明るくなる (透過度が高くなる) ようマスク画像を作成します。

 この時、一つのアイディアは、R (または G) 値とB値の差に着目して、この差が大きいほどマスクの透過度を高めるというものです。この場合 B 値は G 値に補正により近接していますので、それを調整する (近接した差を拡大する) 方法を考えたいところです。これは今までの褐色補正マスクの考え方です。

 もう一つのアイディアは、褐色 / オレンジ色の特定の色相でマスクの透過度が最大値になるように調整しようというものです。例えば、R と G 値の値が同じでかつ B 値が低いとそれは 褐色~オレンジではなく、黄色になってしまいます。従って褐色補正マスクとするならば、R と G の比が特定の値の場合にマスクの透過度を最大にしたいところです。今回その比を、1: 0.65 として考えます。つまりR 値をそのまま使うのではなく、以下の色の時に、変形 R 値 (=マスク透過度) が最大になるように計算式を考えます。

変形 R 値が最大になる色

 今回改訂した褐色補正マスクの計算式も、緑補正マスクの計算式に似ています。

やはりマスクの明るさ (透過度) を V とすると...

  V = (R - (ABS(G - R * 0.65))

となる画像を作成します。これは相対 R 画像になりますが、単純な相対 R 画像 (V = (R - (G + B) / 2)) とは異なり、上で述べたように R: G の比が 1: 0.65 の時に最大値になるような変形相対 R 画像になります。また B 値に関しては、色々試した結果、現在のバージョンでは、R から差し引かないことにしています。これは、B 値を差し引く量が増えると、黄色味を戻す量も減りますが、そもそも B 値が補正作業やスキャナのホワイトバランス補正の影響を受けやすいため、それで黄色味を戻す量が減るのを防ぐためです。

 特に、スキャナドライバのホワイトバランス調整作用によって、本来褐色だったところが B 値が引き上げられてマゼンタや紫になってしまっているケースがよく見られますので、その補正のためにもB 値の評価・差し引きを行わないことが必要です。

■補正範囲フィルタリングマスクの計算

 こうしてできた画像に対し、ミッドグレー点を超えるハイライト領域は補正の対象から省くため、これをフィルタリングするマスクを重ねます。

 このマスクを作るには、一旦以下の画像を作ります。

  V = (L - mg) * wp / 0.2

  ※但し  mg は中間グレー点の値、 wp はホワイトポイントの値です。
   また 値の範囲は 0.0 - 1.0 でありそれを超える範囲はクリップされます。

  

 これで、中間グレー点以下は黒に、中間グレー点以上は一定範囲がグレースケールになり、一定範囲以上はクリップされホワイトポイントになる画像になります。上式の 0.2 は以下の図のスロープ部分の傾斜を決める値になります。

 

V 式で得られる変換

 これを白黒反転すると、中間グレー点以下がホワイトポイントに、それ以上は元の高いが値ほど黒くなる反転したマスク画像ができます。

反転マスク画像

■上記2マスクの比較暗による合成

 このようにしてできた2つのマスク画像を比較暗で合成します。これにより主として中間グレー点以下のみが有効となる褐色補正マスク (相対的 R 値が高い部分の黄色味を戻すマスク) が作成されます。

 最後にここでできた画像の平均値を計測し、さらに平均値を 0.4 * ホワイトポイント値になるように調整するために以下の計算式で係数 (Factor) を計算し

 Factor = 0.4 x wp / Vの平均値

 この係数をマスク画像に掛けてマスクを出力しています。このあたりのパラメータの値は、実際にいくつかの画像を変換してみて経験的に決めているので、今後変更する可能性があります。

※ Ver. 5.7 でバグ修正とともに、最後の係数をかける部分を無効にしました。

------

なお、以下の画像から作れる褐色補正マスクは、その下のようになります。

オリジナル画像

作成された褐色補正マスク