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

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

ImageJ対応・相対RGB色マスク作成ツール・バージョンアップ (Ver. 0.20)

お知らせ (2022.8)

 このプログラムのMac OS用のアップデートがあります。以下のページからダウンロードして下さい。なお、Windows, Linuxユーザは使う必要はありません。

yasuo-ssi.hatenablog.com

 

 先日、相対RGBマスク画像作成ツールをバージョンアップしましたが、再度バージョンアップします。今回のバージョンアップの特徴は、2枚のマスクを複合した複合マスクの作成を可能にしました。以前GIMP上で実質的にマスクを複合する方法について書きましたが、ImageJ上で可能になりました。

 なお、当記事では、バージョンアップ点のみについて説明していますので、以下の記事及び、今までのバージョンアップに関する記事も併せてご参照ください。

yasuo-ssi.hatenablog.com

 まず、本ツールを走らせると、今までと同様、ファイル選択ダイアログが表示されます。次にチャンネル選択ダイアログが表示されますので、対象となるチャンネルを選択します。これも今までと同じです。

チャンネル選択ダイアログ

 3番目のダイアログから、異なります。

パラメータ設定ダイアログ

 上のダイアログの一番下をご覧ください。Mask Inversion for Excluding selected area と、Make combined Mask の二つのチェックボックスが見えます。上は、前回 0.15のバージョンアップで付け加わった機能で、選択した領域を除外する (黒塗りにする) 反転画像を作成するオプションです。その下の、Make combined Mask が今回のバージョンアップでつけ加わったオプションで、複合マスク作成オプションです。ここにチェックを入れると、1枚目のマスクを作成後、それに組み合わせる2枚目のマスクを指定するダイアログが出ます。

 ここにチェックを入れると、1枚目のマスク作成終了後、2枚目のマスクのチャンネル選択ダイアログが出ます。そこでチャンネルを指定すると2枚目のマスクのパラメータ設定ダイアログが出ます。

2枚目マスクのパラメータ設定ダイアログ

 こちらには Make combined Mask オプションはありません。ここで、パラメータを指定すると1枚目、2枚目のマスクとともに、両者を複合したマスクを作成します。これ以外は従来と同じ名前の中間作業マスク画像ファイルができます。

ファイル名は、

1枚目のマスク: オリジナルファイル名 + _tmpMask1.tif

2枚目のマスク: オリジナルファイル名 + _tmpMask2.tif

複合マスク: オリジナルファイル名 + _combined_mask.tif

になります。この最後のファイルが最終的なマスク画像ファイルになります。なおここで作成される複合マスクは、1枚目のマスク∩2枚目のマスク、つまり1枚目のマスクからさらに2枚目のマスクで不透過にしたい部分を追加(=透過部分を追加削除)するものであり、1枚目のマスク∪2枚目のマスク、1枚目のマスクからさらに透過したい部分を追加するものではありません。後者の編集を行いたい場合は、GIMP上で実質的にマスクを複合する方法の3)を参照してGIMP上でマスク編集作業を行ってください。

 オプションとしてマスクの重ね合わせ方法を選択できるようにするのは簡単なのですが、インターフェースが複雑になるので、あまり使わない機能は省こうかと... これでも最初に比べてだいぶ機能が増えてインターフェースが複雑になっていますので。

 なお、Make combined Mask オプションをチェックしないと、ファイル名は従来通りです。この場合、動作も以前と変わりません。ダウンロードはこちらからお願いします。

 なお、今回のバージョンでは注意点が一つあります。それは反転マスク (指定範囲を透過させないマスク) を作成する場合です。1枚目のマスクとして作成する場合と複合用に2枚目のマスクとして作成する場合で、同じパラメータでも、異なったマスクを生成するようにしています。

 例えばRedの反転マスクの場合... 今パラメータをRedの閾値 -5 Redの明度の対象範囲を 66-173 透過係数 1.0として作成するとします。

1枚目として作る場合は次のようになります。

1枚目として作成した Red の反転マスク
明度の対象範囲 66-173 (=除外範囲 0-65 / 174-255)

 

しかし2枚目として作成すると、以下のようになります。

同じパラメータで2枚目として作成した Red 反転マスク
明度の対象範囲 66-173 (=除外範囲 0-65 / 174-255)

 1枚目として作成するのと2枚目として作成するのでは、全く異なる画像が生成されます。これは1枚目として作る場合と2枚目として作る場合で、明度の除外範囲をどう解釈するかが異なるからです。1枚目として作る場合は除外範囲は反転しません(黒のまま)。しかし2枚目として作る場合は除外範囲も反転します(除外範囲は白くなります)。

 これは2枚目として作る場合は、1枚目で作成したマスク画像の一部をさらに部分的にマスクしていく(透過部分を減らす)補助的な画像と考えた場合、マスクする(黒い)範囲が少ないほうがベターだと考えたためです。つまりマスク画像を反転する、ということは、効果を及ばさない (カバー / 不透過) 領域を指定するため、と考えたときに、明度の除外範囲(非対称領域) とは、カバー効果を無効にする部分と考えるならば、透過させた方が理に適うのではないか、ということです。

 ただし、反転マスクであっても、明度除外領域はやはり不透過部分と解釈したい、という場合もあるかと思います。そこで、そのように解釈させたい場合は1枚目で指定して下さい。

 このあたりの仕様は、継続して使用してみて今後見直すかもしれません。

 なお、今回のバージョンアップの主たるターゲットはネガカラーフィルムのマゼンタ被りの改善です。マゼンタ被りは改善可能ではありますが、同時に赤みの強い部分(赤やオレンジ等)がくすんでしまうという問題があります。そこでその部分をカバー(不透過に)したマスクの作成が必要になります。これがもうちょっと簡単にならないかということで考えました。

---------

 以下今回のバージョンアップ版を使った補正のサンプルです。オリジナルは次の画像です。

オリジナル

 これをARTで、左のコンクリートの電柱を無彩色点としてピックアップしてホワイトバランス調整を行ったのが下記です。

ホワイトバランス調整

 かなり改善していますが、まだ微妙にマゼンタがかっています。この一旦ホワイトバランス調整した画像を基に、マスクを作成します。まず今回のバージョンをImageJ上で起動します。1枚目はマゼンタ透過マスクを作るので、チャンネル選択では、Magenta/Green と Green を選びます。

 次のパラメータ選択ダイアログは以下のように設定しました。

マスク 1 枚目 マゼンタマスクパラメータ設定

 マゼンタの閾値 (Threshold) は、一旦ホワイトバランスを取っているので10程度、透過係数 (Transparency Factor) は1.5~2.0ぐらいが適当ではないかと思います。もちろん、Make combined Mask (複合マスク作成) にチェックを入れるのをお忘れなく。するとまずマゼンタマスクとして下記のファイルができます。

マゼンタマスク

 引き続き2枚目のマスク作成に入ります。今回は赤を除外するマスクを作ります。チャネル選択は当然、下記の通りです。

2枚目マスク チャンネル設定

 ここで主として除外したい範囲は、運転台にある、消火器の赤です。そこで消火器部分がしっかり白くなるよう、明度の範囲を設定します。閾値は、赤みの強い部分に限定したいので、-10ぐらいにします。この閾値の値を下げると、選択範囲は限定され (つまりより赤みの強い部分のみが含まれるようになる) 値を上げると、選択範囲は拡大します (赤みの低い部分や赤くない部分も含まれる)。透過係数は1.0のままで良いでしょう。

2枚目マスク パラメータ設定

 それと赤い部分は補正から除外したいので、Mask Inversion for Excluding selected area (選択範囲除外のため反転) にチェックを入れます。これでできるマスク画像は下記の通りです。Redの閾値は0~-10程度が適当でしょう。

レッド除外マスク (2枚目)
閾値 -10 Mask Invert for Red Mask および Mask Inversion for selected area にチェック

 この2枚を複合するとマゼンタ透過マスクから、赤みの強い部分を除外(黒くなる)した透過マスクが下記のように出来上がります。

複合マスク

 この複合マスクを、作成元画像をGIMPに読み込み、レイヤーをコピーして補正レイヤーを作り、そこに対しマスクを掛けます。

マスクを掛ける

 そしてトーンカーブでGの値を上昇させ補正していきます。赤い消火器の部分はマスクのおかげで補正効果があまりかかりません。

RGBカーブで補正中

補正終了

 補正が完了したら一旦TIFFファイルに出力します。

一旦TIFFで出力

 なお、以上の作業はGIMP上で行っていますが、Photoshopでも可能です。

 これをART (あるいは darktableやRawTherapee) に読み込み、トーンカーブや不要部分の切り抜き等の最終調整を行い出力します。

ARTで補正中

最終出力

 かなりしっかりマゼンタ被りが取れているかと思います。対照のためホワイトバランス調整のみ行ったものと、オリジナルを再掲します。

ホワイトバランス調整のみ

オリジナル

 もちろん、マゼンタ被りの補正以外にも色々使えると思います。

 なお、今回のサンプル画像はマゼンタ被りがありますが、Gチャンネルの暗部飽和が見られないので、本ツールによるGチャンネルの引き上げだけで補正可能です。しかし、暗部飽和が見られるときは、GチャンネルへのRチャンネル情報のミキシング補正と併用することが必要です。これについては以下の記事をご参照ください。

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

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

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

 また、本ソフトウェアは現状のまま提供されるものし、作者はこれを使ったことによるいかなる損害補償等にも応じられないことを了解の上使っていただくものとします。
 但し、もしソフトウェアのバグがありましたら、ご連絡いただければなるべく改善するよう努めたいと思います。

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