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

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

ImageJ 対応 新・輝度マスク (Luminosity Mask) 作成ツール Ver. 0.25

 2022.9にバージョンアップをし、さらに 2022.11 にマイナーバージョンアップを行った、ImageJ 対応 新・輝度マスク作成ツールを、今回バージョンアップします。

 今回の変更は、まず 32bit 画像への対応、さらに、適用明度範囲の制限を行わないオプションをつけたこと、さらに、マスクの透過度を自動的に調整計算する機能をつけたことです。但し、入力ボックスに値を上書き入力することで、透過度をマニュアルで指定することができます。この辺り過去のバージョンと動作が変わっています。

 なお、当然ながら本ツールを動作させるには ImageJ の導入が前提になります。また。本ツールで作成したマスク画像は、GIMP, Photoshop, Krita 等、レイヤー編集をサポートしている画像処理ソフトにて広くご利用いただけます。ImageJ の導入方法については、こちらをご参照ください。

本ツール起動画面

 この新・輝度マスクの基本的なアイディアは、以前公開した汎用色チャンネルマスク作成ツール (→のち相対RGB色マスク作成ツールに発展) の考え方をそのまま輝度情報に基づいたグレースケール画像に応用したものです。つまり、ユーザが指定した輝度の範囲で、輝度に基づくグレースケールのマスクを作成するものです。ただグレースケールマスクの計算アルゴリズムは当然ながら汎用色チャンネルマスク作成ツールと異なっています。更に、輝度のみではなく、色チャンネルを選択して同様なマスクを作れるようにもなっています。

 仮にユーザが指定した輝度範囲を X lower ~ Y upper だとすると、輝度値 L に対して L - X lowerで画像を計算し、それに係数 a を掛けたものをマスク画像とします。この時、X lower値以下のピクセルはすべて、0 (全暗黒) になります。a の値はデフォルトで4ですが (これは汎用色チャンネルマスク作成ツールに同じ)、透過係数をかけることで調整することができます。ポジマスクとネガマスクを作成することができますが、ネガ画像マスクを求める際は、(L - X lower) ÷ a の画像を反転しています。因みにデフォルトで a に4を入れて輝度値に掛けるのは、経験的にマスクとしてはこの程度係数をかけないと効果が薄いためです。

 因みに同じグレースケール画像でも、輝度 (Luminosity) によるものと明度 (Lightness) によるものがあります。その違いですが、明度は単純にR, G, B値の平均値でグレースケールを求めるもの、それに対し輝度はGに約7割、Rに約2割、Bに約1割のウェイトをつけて計算した値でグレースケール画像を求めるもので、輝度の方が一般に人間の視覚に近い明るさの画像が得られるとされています。ウェイト付ける具体的な割合はソフトウェアごとに多少異なっていますが、ここではImageJでのウェイト付け (おそらくPhotoshopも同) を使っています。

 ダウンロードはこちらからお願いします。ダウンロードしたファイルを解凍し、ImageJ Fiji ディストリビューションプラグインディレクトリにコピーすることで、ImageJのプラグインとして使用することができます。

 

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

使用方法

 コピーすると、プラグインメニューから、New Luminosity Mask Makerという名前でプラグインが起動できるようになります(下図)。なお、今回は Ver.は0.25と表示されます(下の画面と若干相違があります。画像のリサイクルですみません)。

f:id:yasuo_ssi:20210514220034p:plain

新・輝度マスク作成ツール起動画面

 起動すると、マスクを作るファイル選択ダイアログが出るので、読み込むファイルを指定します。ファイルを読み込んだ後、チャンネル選択ダイアログが出ます。なお、1チャンネルしかないモノクロ画像の場合は、当然ながらこのダイアログはスキップされます。また同じモノクロ画像でも3チャンネルある場合は、やはりこのダイアログが表示されます。しかしその場合はどのチャンネルを選択しても同じ結果になります。

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

 上は、マスクを作る対象チャンネルの選択、下はそのマスクの有効明度範囲を指定するチャンネルの選択です。通常は両者を合わせますが、目的によっては変えることも可能です。選択肢は "Lightness" "Luminosity" "Red" "Green" "Blue" の5つです。

 次にパラメータ指定ダイアログが出ます。1チャンネルモノクロ画像の場合は、ファイル選択ダイアログの次にこのダイアログが出ます。

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

 デフォルトはネガマスクにチェックが入っていません。ネガマスクを作るには、チェックをつけてください。そしてマスクに含ませたい輝度領域を指定します。この領域を指定する値は、8 bit 画像相当値 (範囲 0~255) で指定しますが、16bit, 32bit 画像の場合は自動的に換算されます。

 さらにマスク透過係数(Mask Transparency Factor)を指定します。この値はマスクを調整しない場合 (係数 1 の場合) に比べ何倍明るく(透過度を高く)するかの倍数です。2 なら 2倍明るくする、という意味です。なお、デフォルト値は、マスクのダイナミックレンジに応じて、最も明るい場所を255にするよう自動計算されますが、よりマスクの透過度を増したい場合はより大きく、透過度を下げたい場合は、より小さい値を指定します。これらのパラメータを動かすと、出来上がったマスク画像のプレビューが表示されます。

マスクのプレビュー画面

 なお、Mac OS ユーザの方にご注意です。Java (or ImageJ)の Mac OS 上のバグ回避のため、スライダーを動かすとプレビュー画面の更新が重くなります。気になる方は、スライダー更新中は、Preview のチェックボタンを外し、スライダーを動かし終わったところで、再度 Preview のチェックを入れて下さい

 最後にOKボタンを押すと、プラグインが稼働し、マスク画像を作成します。

 以下は、輝度 (Luminosity) マスクを、0-80の輝度範囲で作成するプレビュー画面の事例です。透過係数は、マスクの最大透明度が 255 になるように自動的に設定されますが、この値が約 3.19 になっています。この値はマニュアルで入力することにより変更することができます。

輝度範囲 0 - 80 ポジマスク

 これに対して、[No Luminosity Range Masking] のチェックを外すと、元の画像で、最大閾値を超える部分が黒くマスクされていたのが外れます。

輝度範囲マスクを外した場合

 またこのまま、[Making Luminosity Negative Mask] をチェックすると、ネガマスクになります。

ネガに転換

 明るすぎると思ったら、マニュアルで透過度を調整するとより暗いマスクになります。

透過度をマニュアルで、1.0 に調整

 このあたりの動作が過去のバージョンから変更されています。

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

このツールの使用目的

 では、このツールは何のために使えるか、というと、一つは、フィルム・スキャナの自動ほこり取り機能が使えない場合、ホコリ取り補正を行うのに使うというケースが考えられます。この場合、元のフィルムがネガフィルムならポジマスクを使い、ポジフィルムならネガマスクを使います。また、ホコリ同様カビの補正にも使えます。以下のページの事例をご参照下さい。

 以下の事例はオリジナルフィルムがコダクロームだったため、スキャナの自動ホコリ取りが使えなかったケースです。デジタル一眼カメラでフィルムデュープを行った場合も同様に自動ホコリ取りが使えませんので、同じように応用できます。

yasuo-ssi.hatenablog.com 以下の事例は、モノクロフィルムで、相対RGB色マスク作成ツールの輝度マスク作成機能を使ったカビ取りの事例ですが、本ツールでも全く同じことができます。これは、元々相対RGB色マスク作成ツールの輝度マスク作成機能が本ツールの機能のサブセットになっているためです。

yasuo-ssi.hatenablog.com

 また、現像ムラの救済にも使えます。以下の事例をご覧ください。これも説明では、相対RGB色マスク作成ツールの輝度マスク作成機能を使っていますが、本ツールでも当然可能です。

yasuo-ssi.hatenablog.com

 また、以下は、当ツールを最初に公開したページですが、コントラストが高すぎる画像における調整に使った事例を載せています。最初はこの目的でこのツールを開発しました。

yasuo-ssi.hatenablog.com-------------------------------------------

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

 また、このソフトウェアを利用される方は、このソフトウェアに起因する損害に対して作者は一切の責任を負わないという点を了承したものとみなします。同意できない方はご利用をお断りします。

 営利・営業目的で使用される方は別途ご相談下さい。

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