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

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

決定版! 不均等黄変・褪色ネガ写真のデジタル補正術 (7) - 追加補正が必要な場合

f:id:yasuo_ssi:20210310145522j:plain

目次

1. 本連載記事の概要

2. 今まで紹介されてきた経年劣化による変褪色写真の補正術 

3. 写真補正の原理  

4. Bチャンネル再建法による不均等黄変・褪色ネガ写真補正の方法   

5-1. 具体的な補正実施手順 - 準備

5-2. 具体的な補正実施手順 - ImageJによる作業

5-3. 具体的な補正実施手順 - GIMPによる作業

6. 追加マニュアル補正の実施

7. 追加補正が必要な場合 (本ページ)

番外編. ART のみを使った B チャンネル再建法による不均等黄変画像の補正

補足. GIMPの代わりにPhotoshopで不均等黄変画像の編集を行う

補足. Bチャンネル再建法 補正ツール簡易版

補足. 標準的なBチャンネル再建法(+汎用色チャンネルマスク作成ツール)による黄変写真補正過程 (2021.5追加)

チュートリアルビデオ. 決定版! 不均等黄変・褪色ネガ写真のデジタル補正術・チュートリアルビデオ (ハイブリッド補正対応版)

-----------------

 本連載 (6) 「追加マニュアル補正の実施」では、スキャナからの取り込みによりややマゼンタに傾いていた画像をサンプルに追加補正のやり方について説明しました。今回、どのような場合に追加補正が必要になるのかを説明します。

 追加補正が必要になる場合を大きく分けると、そもそも B チャンネル再建法の仕様上、追加補正が必然的に必要になる場合と、それ以外の要因 (スキャナ、その他フィルム取り込み方法、フィルム自体の特性、変褪色) による場合の2つに分けられます。

 

[1]  B チャンネル再建法の仕様上、追加補正が必然的に必要になる場合

(1-1) 黄色味を復元する必要のある場合
 B チャンネル再建法の基本的な目標は、画像の黄色みを、G チャンネル情報を利用しながら削除することです。しかしながら、黄色い部分の判定は機械的な判断基準を使っていますので、画像の黄色い部分が変褪色によって黄色くなったのか、それとももともと黄色いのかを区別することができません。
 黄変した部分が部分的なら、その部分のみ B チャンネル再建法による補正画像を適用するという方法もありますが、黄変がかなり広い範囲に及んでいる場合はそのような作戦が使えません。そこで元々黄色かった部分を保全しておきたい場合は別の方法を使う必要があります。

 但し、これによる補正をやや戻すために B チャンネル再建法補正ツールに緑補正レイヤーと、褐色補正レイヤーを組み込んであります。しかし、より黄色に近い部分に関しては、追加補正でマニュアルで編集する必要があります。具体的にはもともと黄色やクリーム色、あるいはオレンジ~朱色の部分などです。これらは黄色味が抜けて白っぽくなったり、あるいはマゼンタになったりします。なお、元々黄色みのある部分でも、変褪色により、不正常な黄色みの色むらが発生している場合は、一旦 B チャンネル再建法で黄色味を削減してから追加補正で黄色味を復活させたほうが良い結果になりやすいです。

 なお、この補正を追加補正で行わず、B チャンネル再建法を適用する際にマスクを加工してその部分に B チャンネル再建法による補正を予め適用しない方法もあり得ます。但し、元々黄色味がある部分を残すにしても、黄変がその部分に及んでいて色むらがある場合は、予め黄色を残す編集を行うよりは、一旦全面的に黄色みを削減した後、追加補正で人為的に黄色みを復活させる方がきれいな再現が可能になります。

 この記事では、一旦補正を掛けた画像に対し、追加は補正で黄色みを復活させる方法について解説します。
 これには相対RGB色マスク作成ツールを使って、黄色い部分を指定するマスクを作り、GIMP 上で補正する方法と、ART の相対色領域補正 CTL スクリプトを使って補正する方法があります。
・相対RGB色マスク作成ツールを使う方法
 ImageJ 上で、拙作の相対RGB色マスク作成ツールを起動し、一旦補正を掛けたファイルを読み込みます。そしてマスクを作成しますが、その際に黄色透過マスクではなく、赤透過マスクを作成します。
 その理由は、一旦黄色味を削減していますので、黄色透過マスクではもともと黄色かった部分をうまく拾い出すことができません。そして、黄色というのは青の補色ですが、これは R, G チャンネルの値が高く、B チャンネルの値が低いという特徴を持ちます。今、一旦補正した画像では B チャンネルの値が高くなってしまい、黄色みがなくなっていますが、R チャンネルの値が相対的に高いという特性は変わらないはずなので、もともと黄色かった部分をより適切に析出するには、黄色マスクを作るより、相対的に R の高い部分を使ってマスクを作るのがよりベターです。また、黄変部分は R チャンネルの相対的な高さが低くても B チャンネルの値が下がっている部分ですので、R チャンネルを手掛かりに黄色味を復活させたとしても、黄変まで復活する可能性は少ないのです。

ImageJ 対応 相対 RGB 色マスク作成ツール


 なお、黄色がR, G チャンネルの値が高く、B チャンネルの値が低いという特徴を持つなら、G チャンネルの値に基づいて作ってもよいではないかと思われるかもしれませんが、B チャンネルの補正に G チャンネルを使っているために、単純に黄色透過マスクを作るのと似たり寄ったりな結果になることが多いものと思われます。さらに、G チャンネルは黄色以外にも広く緑色の部分もカバーしますので、必要以上に広い範囲が選択される可能性があります。R チャンネルも黄色以外に赤系統の色に反応しますが、一般的に自然な風景では、あまり赤い系統の色は多く見られません。従ってマスク編集を行う上でも赤透過マスクを使ったほうがより良いと思われます。

 これで作成したマスクを GIMP での編集に使います。GIMP に補正した画像を読み込み、読み込んだレイヤーを複写します。複写した上のレイヤーに先ほど作った赤透過マスクを貼り付け、その上で、複写したレイヤーの B 値を下げる編集を行うことで、黄色みを復活させます。なお、マスクを貼り付けた際、黄色みを復活させたくない部分については、マスクのその部分を黒塗りにしてください。

 なお、赤透過マスクは赤紫なども透過度が高くなりますが、このような不必要な部分で透過度が高くなった場合は、その部分をマスク編集で黒塗りにしてください。赤紫系統 (例えば国鉄色のぶどう色 2 号) の黄色味を強めると褐色になってしまいます。

・ART + 相対色領域補正 CTL スクリプトを使う方法

 こちらは ART 上で筆者の作成した CTL スクリプトを使って追加補正を行う方法です。基本的には、上で紹介した ImageJ 上で動作するツールのマスク機能を ART 上で使えるようにしたものです。相対色マスクを作るためには、いろいろ細かくパラメータを調整しなければいけませんが、ImageJ のユーザインターフェースが日本語に対応していないため日本語表示をさせることができません。そのため戸惑われる方も多いと思いますので、日本語 UI に対応した ART で走るこちらのツールを開発しました。また ImageJ 上のツール以上にインターアクティブなプレビューで補正結果を確認できるというメリットもあります。

 ART で補正したファイルを読み込み、カラー/トーン補正で、モードとして相対色領域補正もしくは相対色領域補正(ガンマ)を選択します。どちらが適切かは、画像によって異なりますので、トライ&エラーで試してください。
 選択したら対象色領域として赤を選びます。そして選択範囲のプレビューを行い補正範囲が適切か確認します。必要に応じてパラメータを調整して範囲を調整してください。OK であればプレビュー表示を解除し、B チャンネルのスライダーを黄色方向に下げ補正します。

ART 相対色領域補正 CTL スクリプト ダイアログ

(1-2) B チャンネル再建法で圧縮された B チャンネルのダイナミックレンジを復元する

 B チャンネル再建法は、G チャンネルの値を参照しながら B チャンネルを補正します。ということは基本的に B チャンネルの値が G チャンネルの値に近づきがちである、ということを意味します。

 この結果青みの強い部分 (例えば空、遠景など) の B チャンネルの値が G チャンネルに近づき、B チャンネルの相対的ダイナミックレンジが (特にハイライト部分で) 縮小するということが起こりがちです。これをなるべく防止するために遠景補正レイヤーを導入していますが、これによる復元補正量が不十分なため、空の青の色が薄まったり、ときにやや緑に傾く、というようなことがあり得ます。

 これも、相対RGB色マスク作成ツールを使う方法と ART の相対色領域補正 CTL スクリプトを使う方法があります。

 この復元補正を実行するには、B チャンネル再建法自体は意図的に青を減らそうとしているわけではないので、通常は青透過マスクを作り、そのマスクを掛けた範囲に対して先ほどとは逆に B チャンネルの値を上昇させる編集を行うという手順になります。但し、画像によっては青透過マスクの代わりにシアン透過マスク、緑透過マスクが適切な場合もありますので、プレビュー画面でよく確認してみてください。

相対 RGB 色マスク作成ツールで青マスクを作成する場合

ART 相対色領域補正 CTL スクリプト
青マスクを作成する設定

 なお、ImageJ 対応の B チャンネル再建法補正ツールを使う場合、最初に、Background mixing G ch. Gamma の値をデフォルトの 1.56 からもっと引き上げることで空などの青みを増やすことができますし、あるいは、GIMP 編集中に遠景補正レイヤーの明るさをレベル補正やトーンカーブを使ってより明るくすることでも空などの青みを増やすことができます。

ImageJ B チャンネル再建法プラグイン
パラメータ入力ダイアログ

 

(1-3) 黄色味を除去した後、マゼンタの汚れが残る場合

 経験的にネガフィルムの黄変部分は純粋な黄色というよりややオレンジに傾いているようです。黄変の程度が弱ければあまり問題になりませんが、黄変の濃度が濃い場合、黄色味を除去した後に、黄変部に応じたマゼンタ汚れが残る場合があります。これを除去する必要がある場合があります。マゼンタ汚れは G チャンネルもダメージを受けていることを意味します。但し、ダメージの程度は B チャンネルのダメージに比べて軽微です。

 これも、相対RGB色マスク作成ツールもしくは ART の相対色領域補正 CTL スクリプトを使ってマゼンタマスクを作成し補正していきます。なお、経験的にこれは赤マスクでは有効ではなく、マゼンタマスクが適当なようです。あるいは ART のチャンネル再構成 CTL スクリプトが有効な場合もあります。この場合は G チャンネルを他チャンネル情報を使って再構成していきます。

 なお、後述する、全般的にマゼンタ被りがある場合は、この補正とは別に行なった方が良い場合があります。

※ ART + チャンネル再構成を使って G チャンネルに R チャンネル情報を流用することでマゼンタを消している例

マゼンタ汚れが残っている状態

ART + チャンネル再構成でマゼンタ汚れを消した際のパラメータ
G チャンネルに R に代入し、ガンマ補正を掛けている
(エリアマスク併用)

 

[2] B チャンネル再建法以外の要因により追加補正が必要な場合

(2-1) 全般的なマゼンタ被り

 もともとネガフィルムをスキャンしたときに、私の経験では全般的にマゼンタに傾いているケースが多いように思います。原因はいくつか考えられますが、そもそもスキャナドライバの癖であったり、黄変したフィルムを取り込む時にスキャナドライバがホワイトバランスを取ろうとして全般的に青い方向に補正した結果であったり、あるいはそもそもネガフィルムのスペクトラム特性は印画紙に最適化されているのに、それと合わない電子センサーを使って白色光でスキャンするため、などが考えられます。

 このケースの具体的な補正法はこの説明の (6) でお示ししていますので、ここで詳細を論じることは控えますが、相対RGB色マスク作成ツールもしくは ART の相対色領域補正 CTL スクリプトを使ってマゼンタマスクを作成し、緑の方向に補正していきます。併せてハイライト部は青の値を上げる方向にシャドウ部は青の値を下げる方向に補正することが多いです。

 なお、スキャナドライバによるホワイトバランス調整によってこうなった場合、R, G, B 全チャンネルが本来の値からずらされている可能性があるので、要注意です。

(2-2) 全般的な青被り

 やはり、黄変したフィルムを取り込む時にスキャナドライバがホワイトバランスを取ろうとして全般的に青い方向に補正した結果と思われるのが、このような青被りで、具体的には赤みのある所がマゼンタに寄ったり、緑色が青緑によって色が冴えなくなるという形で弊害が現れます。

 これも相対RGB色マスク作成ツールもしくは ART の相対色領域補正 CTL スクリプトを使って緑マスクやマゼンタマスクを作成し、黄色い方向に補正していきます。

 なお、スキャナドライバでホワイトバランス補正を掛けている場合、色相を動かしたり、マトリックスを掛けてチャンネルミキシングを行っている可能性があるので、B チャンネルだけではなく、R, G, B 全チャンネルに影響が及んでいる可能性があります。

 その場合、色相のシフトや、チャンネルミキサーを使った補正が適切かもしれません。ただスキャナドライバがどのような補正を掛けていたのかを推測して戻すのは、非常に大変な作業になる可能性があります。

 

(2-3) その他変褪色

 変褪色が酷いと B チャンネルだけでなく、他チャンネルにもかなり影響が出る場合があります。こうなると補正はかなりケースバイケースで判断することになります。

 一旦ホワイトバランスを取って、今まで補正したことがある変色パターンに持っていって補正したり、あるいはまともなチャンネルが一つでもあれば、それを基に ART 用チャンネル再構成 CTL スクリプトを使って補正するなどの対応が考えられます。

 ただ、複数のチャンネルにかなりダメージが広がっている場合は、幸運であれば補正可能ですが、どうやってもうまくいかない可能性も残ります。

 

---------

なお、追加補正のためのツールとして、以下のものを公開しています。

ImageJ 対応プラグイン

 マスクファイル等を作成し、GIMP 等による編集で活用します

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

ART 対応 CTL スクリプト

 ImageJ はユーザインターフェースが日本語化されていません。B チャンネル再建法補正ファイル作成ツールのノービスモードメニューではあまりパラメータをいじる必要がないので (筆者も最近はほとんどの場合ノービスモードで、画像の荒れがあるかどうかの選択をいじるぐらいです)、UI が英語でもあまり問題ありませんが、相対 RGB 色マスク作成ツールなどはかなりパラメータをいじる必要があり、英語 UI だと戸惑われる方も多いと思います。

 それもあって、日本語 UI が使える ART での補正ツールを開発中しています。

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

 

yasuo-ssi.hatenablog.com

 相対色領域補正スクリプトの通常版とガンマ補正版、RGBカーブ版は、作成するマスクは同じですが、補正の仕方が違います。どのような補正を行いたいかに応じて使い分けてください。ImageJ 対応相対RGB色マスク作成ツールだと、マスクのみ作って、後の補正の仕方は GIMP 上で任意に選べるのでこのような使い分けは必要ありませんが...

 

yasuo-ssi.hatenablog.com

------------------

 なお、追加補正に、ImageJ 対応ツール + GIMP を使った編集と ART + CTL スクリプトを使った編集では、それぞれの方法に一長一短があります。以下簡単にまとめてみます。

日本語 UI 対応
ImageJ 対応ツール + GIMP: × ART + CTL スクリプト: 〇

編集の柔軟性
ImageJ 対応ツール + GIMP > ART + CTL スクリプト

マスクへのガウスぼかしの適用
ImageJ 対応ツール + GIMP: 〇 ART + CTL スクリプト: ×

編集結果の確認の容易さ
ImageJ 対応ツール + GIMP < ART + CTL スクリプト

 

 個人的には、不均等な黄変自体の補正には ImageJ 対応ツール + GIMP で補正を行い、追加補正には ART + CTL スクリプト を使う場合が多くなっていますが、ART でうまく結果が出ない場合は ImageJ でマスクを作成し GIMP 上で編集し直しています。