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

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

決定版! 不均等黄変・褪色ネガ写真のデジタル補正術 (5-3) (2021.1 新バージョン対応)

f:id:yasuo_ssi:20210310145522j:plain

目次

1. 本連載記事の概要 

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

3. 写真補正の原理    

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

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

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

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

6-1. 追加マニュアル補正の実施 - 補正不完全の原因分析と追加補正方針の決定 

6-2. 追加マニュアル補正の実施 - 追加編集作業の実際

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

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

 

※2021.6.14 追記
 この記事のRGB合成サポートプラグイン (2021.6.12公開) 対応版を以下に公開しました。当記事は追記が増えて分かりづらくなっていますので、RGB合成サポートプラグインを導入した方は、以下の記事をご覧になることをお勧めします。

yasuo-ssi.hatenablog.com

5. Bチャンネル補正法による具体的な補正実施手順

5.3 GIMPによる作業

編集作業ワークフロー

 ImageJによる編集素材ファイルの作成が終わりましたら、GIMPを立ち上げます。私の作成したPlug-inのインストールが終わっていれば、GIMPのメニューに下図のように[My Plugins]という項目がありますので、その下の[Photo Adjustment]→[Load Files...] をクリックします。

f:id:yasuo_ssi:20200723214838j:plain

 するとファイル選択のダイアログが出ますので、ImageJによる編集素材ファイルを作る変換元のオリジナルファイルを指定します(例では変換元ファイル名がTarget.tifになっています)。

f:id:yasuo_ssi:20210101234507j:plain

 

 

f:id:yasuo_ssi:20200723215811j:plain

 

 ここでOKを押しますと、ImageJで作成したファイルを、GIMPの単一のファイルのレイヤーとして適切な順番で読み込みます。なお、変換元ファイルは読み込みません。

  なお、2021.1.17に、GIMPプラグインを改訂しました。ダウンロード先はこちらです(2021.1.2公開のページと同一です。リンク先のファイルのみ更新しています)。改訂版ではメニューに Photo Adjustment Ver 2 と表示されます。また日本語版のプラグインを導入すると「黄変写真補正ツール Ver 2」との表示になります。この改訂版プラグインでは、ファイルをレイヤーに読み込むだけではなく、前景補正、後景補正、周辺部補正レイヤーにマスクをつけ、さらにマスク素材画像をマスクとして貼り付けるところまで一気に行います。ですので、マスク作成 & 貼り付け作業を省略し、直ちにマスクを表示させてマスク編集に入ることができます。なお、読み込み直後は、それぞれのレイヤーのマスク編集モードは有効になっていますが、マスク表示モードにはなっていないのでご注意ください。

f:id:yasuo_ssi:20200723215920j:plain

[以下 1/17以降バージョン記述]
 補正素材ファイル読み込みプラグインを稼働しますと、ファイルを適切な順番で読み込むだけではなく、近景補正レイヤー (オリジナルファイル名+ _B_foreground.tif)、遠景補正レイヤー(オリジナルファイル名+ _B_background.tif)、および周辺補正レイヤー(オリジナルファイル名+ _B_G+R.tif)に対して、マスク素材ファイルをマスクとして読み込むところまで実行します。

f:id:yasuo_ssi:20210123152228j:plain

プラグイン実行直後 マスクまで読み込んでいる

[以下 1/17 以前バージョン記述]
読み込みが終わりますと、このような順番で読み込みます。

f:id:yasuo_ssi:20210101233941j:plain

 

 ここからマニュアルによる編集作業が始まります。最初に、GIMPのレイヤー・ダイアログが上記のように表示されているのを確認してください。万一レイヤー・ダイヤログが見えない場合は、メニュー→[ウィンドウ]→[ドッキング可能なダイアログ]→[レイヤー]をクリックして表示させてください。

 そうしたら、[変換元ファイル名]_R+128.tifのレイヤーをコピーします。そして[変換元ファイル名]_B_foreground.tif レイヤーにレイヤーマスクを追加し、先ほどクリップボードにコピーした、[変換元ファイル名]_R+128.tifレイヤーの画像をレイヤーマスクとしてコピーします。これが近景補正レイヤーになります。

f:id:yasuo_ssi:20200723235431j:plain

 レイヤーをコピーする際は、必ず選択されている(そのレイヤーが濃く表示されている)かを確認してCtrl+Cキーを押す。目のマークが表示(= 可視レイヤーとして選択)されていても、それはコピー対象として選択されているわけではない。GIMPでは可視レイヤーとしての選択とコピー・編集対象としての選択は連動しないので、確認が必要

 

f:id:yasuo_ssi:20200723235920j:plain

マスクをつけたいレイヤーを選択し、マウス右ボタンをクリック
そこから[レイヤーマスクの追加]をクリック

f:id:yasuo_ssi:20200724000343j:plain

マスク追加のダイアログが出たら、
レイヤーマスクの初期化方法を[完全不透明]のまま[追加]を押す

f:id:yasuo_ssi:20200724000546j:plain

マスクが追加されると、自動的にレイヤーマスク編集モードになるので、Ctrl+Vを押して、クリップボードにコピーされた画像を貼り付ける。すると上図のように「フローティング選択範囲 (張り付けられたレイヤー)」という表示が出るのでさらに、メニュー→[レイヤー] → [レイヤーの固定]を押す。するとマスクのサムネイルに画像らしきものが表示され (下図参照) クリップボードの画像がマスクとして貼りつく。本当にマスクに貼り付いているか確認したい場合は、右ボタンを押してコンテキストメニューから[レイヤーマスクの表示]にチェック。確認終了後直ちにチェックを外す



 次に、[変換元ファイル名]_Binary_Mask.tifレイヤーを上と同様な方法で、[ファイル名]_B_Background.tifにレイヤーマスクとして貼り付けます。

 マスク素材画像のマスクとしての貼り付けが終わったら、コンテキストメニューを使って、マスク編集を行うレイヤー(遠景補正レイヤー)のマスクを表示させます。

f:id:yasuo_ssi:20210101190958j:plain

レイヤー上でマウス右ボタンをクリックして
コンテキストメニューを表示させ
さらにレイヤーマスクの表示にチェックを入れる

 なお、以下のページで公開している拙作のレイヤーマスク編集モード切替プラグインを導入していますと、レイヤーの編集&表示モード同時切替が可能になりますので、便利です(2021.5追記)。

yasuo-ssi.hatenablog.com

f:id:yasuo_ssi:20210101191259j:plain

レイヤーマスクの表示 & 編集モードに入ったところ
表示されるレイヤーマスクに緑枠がつく


 このマスクの画像のうち、遠景補正の対象とならない近景部分をペイントツール等を使って黒で塗りつぶします。そんなに厳密でなくても大丈夫です。ササっと済ませましょう。マスク編集が終わったら、再びレイヤー上で、右ボタンをクリックしコンテキストメニューを表示させ、レイヤーマスクの表示のチェックを外してください。このレイヤーが遠景補正レイヤーになります。

 

 

f:id:yasuo_ssi:20200724001242j:plain

レイヤーマスク編集中。近景を黒で塗りつぶしつつあるところ

f:id:yasuo_ssi:20200724001612j:plain

マスク編集の終わった遠景補正レイヤー
チェック模様のところが透明で補正されない部分

 次に、[変換元ファイル名]_Dark.tifレイヤーだけを表示させて、最明部をツールボックスの[色域を選択] ([判定基準]はデフォルトの[Composite]で良いです) でクリックして選択し、Deleteキーを押して削除し透明化します。このとき[しきい値]はなるべく小さい値(1程度)にしてください。これが暗部補正レイヤーになります。なお、Bチャンネル画像を見て、暗部の情報飽和が起こっていないようであれば、暗部補正レイヤーは使わなくてもかまいません。

f:id:yasuo_ssi:20200724002046j:plain

Dark.tifレイヤーの最明部を[色域の選択]で選択したところ
この後Deleteキーを押し、選択したところを透明化し、暗部補正レイヤーとする
なお必要に応じてペイントツールでさらに追加の画像編集を行うことも可

 次は、周辺部分情報抜け補正レイヤーです。下記の2枚の画像を見てください。

f:id:yasuo_ssi:20210101192438j:plain

周辺補正の必要性を検討 (右は必要)

 左側の画像は、周辺部の青紫化はあまり進んでいないようです。若干上部が青紫がかっているようですが、通常の遠景補正レイヤーで補正可能範囲かと思います。それに対し右側の画像は周辺部が右端部を除いて青紫色に変色しています。これはBチャンネルの周辺部が褪色によって明るくなり、情報抜けが起こっているのです。空が青紫になっているのはごまかしがききますが、特に下の茶色のバラストが青紫になっているのは近景補正レイヤーで補正しきれません。この右側の画像のようなケースは周辺部の情報抜けを補正する必要があります。

 今回のバージョンアップから周辺部補正レイヤー作成のためのマスク素材画像 [ファイル名]_Periphery_Adjst_Mask.tif を出力するように変更しました。周辺部補正レイヤーが必要な場合は、このファイルを読み込んだレイヤーをコピーし、[ファイル名]_G+R.tif を読み込んだレイヤーにレイヤーマスクとして貼り付けます。そうしたら遠景補正レイヤーと同様に、レイヤーマスクを表示させ編集モードに入り、周辺部を残して真ん中を塗りつぶします。

f:id:yasuo_ssi:20210101194114j:plain

周辺部補正マスクの編集

 最後に、レイヤーマスク表示のチェックを外します。すると周辺部補正マスクが表示されます。

f:id:yasuo_ssi:20210102114154j:plain

上の補正マスクに基づく、周辺補正レイヤー画像

 なお、レイヤーを重ねて表示させた時に、レイヤーの境界がはっきり分かり、周辺部補正マスクの補正量が過大な場合は、レイヤーの不透明度を調整して、境界が目立たなくなるよう調整してください。

f:id:yasuo_ssi:20210101195227j:plain

境界がはっきり分かるケース

f:id:yasuo_ssi:20210101195250j:plain

不透明度を下げ、境界を目立たなくした補正Bチャンネル画像

 上の周辺補正レイヤーを適用した補正Bチャンネル画像を使った、Bチャンネル再建法適用補正画像が下図になります。

f:id:yasuo_ssi:20210102114506j:plain

上の補正Bチャンネルを使ってRGB合成した補正結果

 補正結果を見るとバラストの変色部分が完璧に近いぐらいに補正されていることが分かると思います。これにさらに再調整を掛けて仕上げると下記になります。

f:id:yasuo_ssi:20210612083606p:plain

上図をさらに再調整した結果

  このように、近景補正レイヤー、遠景補正レイヤー、暗部補正レイヤー、周辺部補正レイヤーの4つがそろったら(なお、暗部補正レイヤーや周辺部補正レイヤーが必要ない場合は抜いて良い)、それにオリジナルBチャンネルレイヤー([変換元ファイル名]_B.tifレイヤー)を加えた補正に使うレイヤーのみを可視レイヤーとして指定します。

 さらにメニュー→[レイヤー]→[可視部分をレイヤーに]をクリックして新しいレイヤーをGチャンネルレイヤーの下に作成します。その際レイヤーを重ねるモードは[標準](つまりデフォルト)でいきます。これが補正されたBチャンネルレイヤーになります。レイヤー名は分かりやすく「補正B」などの名前をつけておくと良いでしょう。

f:id:yasuo_ssi:20210101232944j:plain



f:id:yasuo_ssi:20200724002618j:plain
B Ch. 近景補正レイヤー、遠景補正レイヤー、暗部補正レイヤーを可視レイヤーとし重ね合わせて表示したところ。重ね合わせのモードは[標準]。この後この表示部分を1枚のレイヤーに転換し、補正Bレイヤーとする

 補正Bチャンネルレイヤーができましたら、既存のR, Gチャンネルレイヤーと合わせてチャンネル合成 (メニュー→[色]→[色要素]→[チャンネル合成])を行います。その際当然Bチャンネルとして、今回補正したBチャンネルレイヤーを指定します。そうすると補正されたカラー画像が形成されます。ここまで慣れてくると最初から10分足らずで作業を終えることができます。

 

f:id:yasuo_ssi:20200724003154j:plain
チャンネル合成を行うところ
f:id:yasuo_ssi:20200724003335j:plain
チャンネル合成の際、Bチャンネルは今回合成した補正Bチャンネルレイヤーを指定する
f:id:yasuo_ssi:20200724003654j:plain

補正されたカラー画像が別ファイルとして合成された
最初からここまで、慣れてくると10分程度で作業可能

 

※ 2021.6.12追記

 以上、再建Bチャンネル画像の合成から、RGB合成までの過程 (上の水色の部分) を一挙に自動的に行うGIMPプラグインを公開しました。以下のページからダウンロードしてご使用ください。

yasuo-ssi.hatenablog.com

 これで基本補正が完成しましたので、この後全般的に、色温度やホワイトバランス調整をしたり、トーンカーブ調整等の色調補正を掛ければ一応完成です。中には、この連載の1回目に最初に掲載した事例のように、基本補正だけであとはほとんど追加調整が不要なケースもあるかと思います。

 なお、オリジナルファイルが使っている色空間が、ガンマ補正済みsRGBファイル以外の場合は、一点注意が必要です。ImageJはカラーマネジメントを行いませんので、ImageJで作成した補正素材ファイルにも iccカラープロファイルが埋め込まれません。カラープロファイルのないファイルをGIMPで読み込むと、GIMPはデフォルトでガンマ補正済みsRGBファイルだと解釈します。それでもチャンネル合成までの編集作業では特に不都合はありませんが、チャンネル合成を行い、編集済みカラー画像を再構成したときに、GIMP上で、本来のカラープロファイルを再適用してください。その際、RGB値を動かしてはいけませんGIMPにおける色空間(カラースペース)の変換についてはこちらの記事をご参照ください。

 なお、上記の編集作業は、Photoshopでも代替可能です。編集の仕方は、「補足. GIMPの代わりにPhotoshopで不均等黄変画像の編集を行う」をご参照ください。

 さらに、オリジナルの変色が激しい場合は本補正法にかける前に、フォトレタッチソフトの自動カラー調整や、ホワイトバランスの調整にかけていただいたほうが、色の変異量が減りますので、良い結果が得やすいです。Nik CollectionのColor Efex Proによる色かぶり調整を事前にかけるのも良いかと思います。

 

 ところで、本補正法のメインターゲットは、補正に手こずるやっかいな不均等黄変と、周辺部の青紫抜けの改善にあります。そして、Bチャンネルの再建に主としてGチャンネルの情報を流用します。この結果、ピクセルにおいてBチャンネルの値とGチャンネルの値が近づく傾向にあります。それを少しでも改善しようと近景補正レイヤーと遠景補正レイヤーを分けていますが、それでもまだ問題は残るケースがあります。例えば、本補正法で十分補正できない典型例として肌色や鮮やかな若葉の黄緑色表現があります。肌色の場合基本的に R > G > B の値を取り、かつ中程度の明るさの部分 (グレースケールで100~120前後) でGとBの値の落差が比較的大きいです (一般的に B が G より40~50低い値を取る)。しかし、この手法ではGとBの値が近づきますので、肌色はおおむねあまりきれいに出ません。以下に、このように本手法で補正を掛けただけではダメな典型例を掲げます。

 


 この写真は、以下のブログに補正困難な例として掲載されているものを、一旦本ブログで紹介している技法を使って補正を掛けたものです。このブログの筆者のudiさんのご厚意で許可をいただいて掲載しております (再転載はご遠慮ください)。

udimac.livedoor.blog

 オリジナル写真と比較すると、不均等黄変は消えているのはわかりますが、全般的に冴えません。本補正技法の必然的結果としてB値とG値が近接してしまうからです。このような部分については、本技法による補正結果をベースに、フォトレタッチソフトの色域選択機能とトーンカーブなどの色調補正機能を組み合わせて、個別に補正をかけることになります。ただ一番厄介な不均等黄変は取れていますので、補正作業はだいぶ楽になります。このサンプルではB > Gでなければならない領域と、G > Bでなければならない領域が半々混在しています。本技法を適用しただけではだめで、追加補正、いわばポストプロダクションが必要な典型的ケースです。次回はこの写真を例に、GIMPを使ったポストプロダクション術を徹底解説します。

 

 なお、本連載記事で紹介した写真補正技法やソフトウェア (Plug-in) は個人的用途および非営利目的であれば自由に使っていただいて構いませんが、本技法を使って何らかの成果 (編集した写真等) を公表する場合は、本記事で紹介した技法を使った旨クレジットをつけて公表していただくことをお願いします。

 また、私の作成したPlug-inも自由に改変して使用していただいて構いませんが、その成果を公表する場合はご一報下さい (公表しない場合は特に連絡は必要ありません)。またその改良した結果を私の方で自由に利用させていただくこともご了承下さい。

 

f:id:yasuo_ssi:20201101115651p:plain