お知らせ (2021.7)
本ツールの機能は、下記ツールに機能統合しました。今後は以下のツールをお使いください。
yasuo-ssi.hatenablog.com-------------------------------
お知らせ
このツールのバグ修正版を 2021.5.18に公開しました。5.8の修正し残しのバグを再修正しました。すでに各ページのリンクは修正してあります。新バージョン番号は Ver. 0.18となっています。
---------
このツールのバグ修正版を 2021.5.8に公開しました。4.17の修正で発生したバグを再修正しました。すでに各ページのリンクは修正してあります。新バージョン番号は Ver. 0.17となっています。それ以前にダウンロードされた方は、再度ダウンロードをお願いします。修正内容はこちらのページをご参照ください。
--------
このツールのバグ修正版を2021.4.17に公開しました。こちらのページをご覧ください。なお、当ページのダウンロードリンクも新バージョンに修正してあります。
本 (2021) 年2月28日に、Bチャンネル再建法 追加補正サポート用マスク作成ツールを公開しました。しかしさすがにあらかじめImageJで閾値を測った上、パラメータをメモして使えというのは、我ながら自分で使っていても使い勝手が悪すぎます。
という訳でマスクが有効範囲となる閾値を決定するのにプラグインの中のプレビュー画面を見ながら決定するような対話的なダイアログを作成しました(かなり大変でした)。これで大幅に利便性がアップしていると思います。内容的にはユーザインターフェース部分を変更しただけで、プログラムの本体部分は変更ありません。
なお、このツールを使う目的や意義については、作成ツール公開時の2月28日の記事をご参照ください。以下、新バージョンのマスク画像作成ツールの使い方から説明します。
1. このツールが行うこと
1) ある特定の色チャンネル(R, G, B もしくはグレースケール)に基づいて、特定の明度(明るさ)範囲を透過させるバイナリーマスク画像ファイルを作成します。
※バイナリーマスク画像: 透過部分を白、不透過部分を黒とした、白(255)と黒(0)の二値の画像。透過部分は100%透過、不透過部分は100%不透過となる。
2) 黄変部分 (相対的に黄色い部分) もしくは相対的に青い部分を透過させるマスク画像ファイルを作成します。
※こちらは二値ではなく透過度の高い部分を白っぽく、不透過度の高い部分を黒っぽくしたグレースケールマスク画像。透過、不透過量は100%か0%の二値ではなく、段階的に変化する。
3) 1)と2)の画像を合算し、特定の明度範囲のみに有効な黄変(もしくは相対的に青い)部分透過マスク画像を作成します。
→ 例えば明度範囲が128-180の間だけ有効な黄変部分補正マスク
予め補正を行わない明度範囲をマスキングしておいたマスク原稿画像を用意することで、マスク編集作業の手間が楽になると思います。
2. 事前準備
当然ながら ImageJ (Fiji ディストリビューション) をインストールしておいてください。またプラグインファイルは、こちらからダウンロードして下さい。そしてこのインストールフォルダ (Fiji.App) の下の Plugins フォルダにダウンロードしたプラグインを解凍し、コピーします。
3. プラグインの実行
1) ImageJの[Plugin]メニューから、先ほどインストールしたプラグインを起動します。メニューの下の方に「Additional adjst Yellow mask Maker V0.1」表示されているはずですので(前のバージョンは V0.01でした)、それをクリックします。
2) 予め、ImageJでファイルを読み込んでいなければファイル選択ダイアログが出るので、そこで対象となるファイルを選択します。ファイルサイズが大きいと選択してからファイルが開くまでちょっと時間がかかることがあります。あらかじめ読み込んであれば、選択ダイアログが出ることなく次へ行きます。
3) すると、下記のようなダイアログが出ますので、明度範囲を決定するための対象チャンネルを選択します。選択肢は、RGBtoGRAY, Blue, Red, Greenです。黄変マスクであれば通常は Blue もしくは RGBtoGRAY を選択します。
4) 対象チャンネルを選択すると、以下のようなプレビュー画面を伴った閾値決定ダイアログが出ます。
一番上、[Yellow Mask Threshold] は、黄変 (または青色部分) マスクの、どこからを透過させるか決定する閾値を決めるパラメータです。0に設定すると、Bチャンネルの値と、R と G チャンネルの平均値を比較して、Bチャンネルがそれを下回るところから透過させて(画面上は白っぽく)いきます。式でいうと (r + g) /2 - b で各ピクセルの値を決定します。この閾値を 10 とか 20に引き上げると、やや黄色くないところから透過を始めることになります。式でいうと、閾値をα とすると ((r + g) /2 - b) + α つまり透過量を 閾値を 0 に設定する時よりも α 引き上げる、ということに等しくなります。
なお、経験的には閾値を 0 に設定したマスクを使って黄変部分の黄色味を減らす補正を掛けると、黄色いところと黄色くないところの境界が強調される傾向にあるので、この閾値は 10ないし20程度に設定するのが適切です。10~20のどの値が適切かは実際にマスクを掛け補正してみて補正の効き具合を見て決めてください。補正の効きが悪いと思ったら、閾値を引き上げてください。ただやりすぎは禁物ですので、寸止めぐらいの補正を心掛けた方が良いと思います。
次のチェックボックス、[Mask invert for blue mask] はマスク画像を反転し、青色部分透過画像を作成します。式でいうと、黄色マスクが ((r + g) /2 - b) + α だったのに対し、b -((r + g) /2) + α の式でマスク画像を作ります。
次のスライダー、[upper threshold of mask]、[lower threshold of mask]、は前のダイアログで選択したチャンネルに基づいて (つまり今のプレビュー画面に表示されているチャンネルです)、マスクが有効な範囲の閾値を設定します。スライダーを動かすと以下のようにプレビュー画面が二値化されます。upperは、マスクが有効な閾値の上限、lowerは閾値の下限になります。透過する部分が白、不透過の部分が黒で表示されます。
上のケースは電車の窓の上下の部分に焦点を当てて、閾値の上限と下限を設定しているところです。
なおプレビュー画面は横幅1200ピクセル、ビット深度は8bitに固定されていますが、これは実際のファイル加工に影響を与えません。プレビューの際に実際の画像を見せると処理が重くなるので、それを避けるために小さい画像でプレビューさせています。また閾値の数値も8bitの値で示していますが、16bitの画像であれば、実際の加工時にはちゃんと値を変換して適用されます。
その下に[preview]チェックボックスがありますが、これを外すとスライダーを動かしてもプレビュー画面に反映されません。
[Show working windows?]は、プラグイン実行中作業ウィンドウを表示するかしないかを決定します。
5) OKボタンを押すと、ファイルの作成作業に入ります。
4. 作成されるマスク画像ファイル
・実行が終わると、元画像と同じフォルダに以下の3種類のファイルができます。originalfilename のところには元画像のファイル名が入ります。
originalfilename_Mask_Thr_Y+z_x4.tif
閾値 +z の黄色補正マスク (青色補正マスクの場合はYがBになる)
originalfilename_L_Zonex-y_Mask.tif
Bチャンネルの明るさの閾値が x から y の範囲の明るさゾーンマスク
originalfilename_L_Zonex-y_Y+z_Mask_Binded.tif
上の2つの画像を合成して作成した、有効範囲がBチャンネルの明るさの閾値が x から y に限定された、閾値 +z の黄色補正マスク (青色補正マスクの場合はYがBになる)
・以下、電車の青い色部分を主対象としたマスクの事例を掲示します。
・なお、[Lowest Threshold of L Zone], [Highest Threshold of L Zone]の設定値によって、画像の全範囲が指定されると、プラグインは次のようなエラーメッセージを出力して終了します。
"Selected ROI (Region of Interest) is missing."
この場合、上の一番最初のファイルのみ作成して終了します。
5. 補正へのマスクとしての適用
・プラグインを実行して出来たマスク原稿用の画像ファイルを、実際の補正マスクとしてレイヤー編集をサポートしたフォトレタッチソフト(GIMP, Photoshop等)上で補正対象画像にマスクとして読み込み、さらに必要のないところを塗りつぶします。なお、GIMPでマスクとして貼り付ける場合は、3月5日に、簡単に画像ファイルをマスクとして貼り付けられるプラグインを公表しておりますので、導入を強くお勧めします。
・次の図は、上の画像を加工して電車の青色部分のみ補正するマスクとした事例です。
・また、壁面補正マスクの作成例も提示します。
6. 補足
なお、本ツールで originalfilename_Mask_Thr_Y+z_x4.tif が得られますので、黄変部分補正マスク作成ツールおよび青色部分マスク作成ツールを兼ねることができます。
最後に2021.2.1にアップした画像を、今回のプラグインを使って再調整した画像をお見せします。
前回と今回では、Bチャンネル再建法を適用した画像を出発点としているのは同一です。前回は色域指定で3つの補正レイヤーを追加しましたが。今回は、電車の青色部分補正のレイヤーと壁面等の補正のレイヤーの2つを追加して補正しています。最後にRawTherapeeで仕上げているのも同じです。当然ながら、どちらかの方法が間違っているという訳ではないので、大きな差はありません。ただ色域指定だとアドホックな感じがありますが、こちらの方だと若干組織的に補正した感があるというところかと思います。どちらの方法を使うかは好みの問題かと。ただ今回マスク作成ツールの利便性がアップしましたので、好みの問題ではありますが、色域指定を使うよりは調整が簡単だと感じられる方もいらっしゃるかと思います(前のバージョンではマスク作成ツールを使う利便性が明らかに下回っていました)。
因みにそもそもBチャンネル再建補正に掛ける前の、オリジナルの黄変写真はこちらです。
------------------
------------------
なお、本記事で紹介した写真補正技法やソフトウェア (Plug-in) は、個人的および非営利用途であれば、自由に使っていただいて構いませんが、本技法を使って何らかの成果 (編集した写真等) を公表する場合は、本記事で紹介した技法を使った旨クレジットをつけて公表していただくことをお願いします。
また、本ソフトウェアは現状のまま提供されるものし、作者はこれを使ったことによるいかなる損害補償等にも応じられないことを了解の上使っていただくものとします。
但し、もしソフトウェアのバグがありましたら、ご連絡いただければなるべく改善するよう努めたいと思います。