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

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

汎用色チャンネル再構成ツール 公開

f:id:yasuo_ssi:20210627103216p:plain

 本サイトでは、不均等黄変ネガカラーフィルム写真の最も効果的な補正技法としてBチャンネル再建法という技法を提唱しています。この技法の核は、他のカラーチャンネルの情報をミックスしてBチャンネルを再建するというものですが、今回その部分を汎用化し、R, G, B任意のチャンネルの画像を、他のチャンネルの画像情報を混合して再構成するというツールを作成しました。ダウンロード先は、こちらになります。ダウンロードしたファイルを解凍し、ImageJ (Fiji) のプラグインフォルダに放り込んでください。また後述するようにGIMPでの編集をサポートするGIMPプラグインも同梱されています。

  本ツールをインストールするとImageJのPlugins メニューの下に Color Channel Image Reconstructor という名前のプラグインがあるはずです。これを起動すると、最初に読み込みファイルを指定するダイアログが開きます。

f:id:yasuo_ssi:20210705154957p:plain

ファイル読込ダイアログ

 次にパラメータ指定ダイアログが開きます。

f:id:yasuo_ssi:20210711132452p:plain

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

 

[Channel for reconstruction]は再構成する対象の色チャンネルで、R, G, Bから選択します。

その次 [1st Mixing Channel] は、上で選んだチャンネルを補正するための最初のデータの混入元チャンネルに関する設定です。

[Mixing Channel]は最初のデータの混入元チャンネルの選択です。R, G, Bおよびグレースケール値である、Luminosity(輝度), Lightness(明度)から選べます。明度は、R, G, Bの値の輝度の平均値を使ったグレースケール値ですが、輝度はR, G, Bの各チャンネルの輝度にウェイトをつけて作成したグレースケール値です(gray = 0.299 x red + 0.587 x green + 0.114 x blue)。

[Channel Mixing Ratio]は、混入元の値の混入対象チャンネルに対する混入比です。0から1.0の間で指定しますが、1.0を指定すると、混入先の値を完全に混入元の値に置き換えることになります。また0なら全くデータの混入はありません。仮に混入対象の値をv1, 混入元の値をv2, 混入比を r とすると、最終的に得られる値 v は、v = v1 x (1 - r) + v2 x r で定義されます。

 

[Mixing Mode]は、上の式で作成された混入画像と混入元画像を比較してどのようにミックスするかを指定します。Normal は単に上式でミックスして終わりです。Darken を選ぶと、上式でミックスした画像と混入元画像を比較し、混入元画像のピクセルがより暗ければ(値が小さければ)、混入元ピクセルの値で置き換えます。暗くなければ式通りにミックスした値が採用されます。GIMPのレイヤーモードの[比較暗]と同じです。逆にLightenは上式でミックスした画像と混入元画像を比較し、混入元画像のピクセルがより明るければ(値が大きければ)、混入元ピクセルの値で置き換えます。[比較明]と同じです。

[Gamma for Mixing Channel] は、ミックスルチャンネルにガンマ補正を掛ける係数を指定します。デフォルトは1.0で、これは補正なしです。0~1.0未満の値を入力すると、ミックスするチャンネル画像が明るくなり、1.0を超える値を入力するとミックスするチャンネルの画像が暗くなります。ミックスルチャンネルの明るさを変えることで、ミックス後のチャンネルもそれに応じて明るさが変わります。

 その次 [2nd Mixing Channel] 以下の設定項目は2番目の混入チャンネルに関する設定です。その下の項目は1番目のチャンネルの設定と同じですので詳しい説明は省略しますが、2番目の混入チャンネルを使わない場合は、[Mixing Channel]で、"None"を指定してください。

 また、[Channel Mixing Ratio]は、混入元に対して、二つのチャンネルの情報を混合して補正する場合は、2つの割合を足し合わせて1.0を超えないようにしてください。超えた場合は、2番目の混入チャンネルの混入比を自動的に1.0 - 1番目のチャンネルの混入比に調整します。その場合混入元チャンネルの混入比は 0.0 になってしまいます(つまり元チャンネルの情報は使わなくなる)。

 また、[Mixing Channel]には輝度と明度も選べますが、例えば最初の混入チャンネルに輝度を選択し、2番目の混入チャンネルに明度を選択することはできません。その場合自動的に2番目の混入チャンネルを"None"にします。つまり2種類のグレースケールを混入することはできません。

[Output File Name for GIMP Plugin]は、後程GIMPプラグインで簡単に読み込めるようなファイル名で出力するかを指定します。GIMPプラグインを使って編集する場合のみ、"Yes" を指定してください。

 出力ファイルですが、以下の4(または5)本を出力します。

originalfilename_R.tif

 Rチャンネル画像

originalfilename_G.tif

 Gチャンネル画像

 originalfilename_B.tif

 Bチャンネル画像

 originalfilename_C1x F1_C2xF2MixingMode_GmZ.tif

 C1は補正対象チャンネル、C2は混入元チャンネル、F1, F2 は混入比、MixingModeはミキシングモード (Darken, Normal, Lighten)、Z はガンマ値になります。

 また、[Output File Name for GIMP Plugin]にチェックをつけると、

originalfilename_Ch_Reconstructed.tif

というファイルを出力しますが、内容は、originalfilename_C1x F1_C2xF2MixingMode_GmZ.tif と全く同じです。

 

 以上により、ある色チャンネルを別の色チャンネルの情報を混入して再構成することができます。また混入するチャンネルの明るさをガンマを掛けることで明るくしたり、暗くしたりすることができます(あまり複雑でもわかりにくいかと思い、混入元チャンネルにはガンマはかけられないようにしています)。これにより再構成したチャンネルの明るさを調節できます。

 さらに以上のファイルをワンタッチでGIMPに読み込むプラグインも同梱しました。やはりGIMPプラグインを解凍し、GIMPプラグインフォルダにコピーしてください。コピーすると、以下のメニューから起動できるようになります。

f:id:yasuo_ssi:20210708153604p:plain

メニュー位置

 

f:id:yasuo_ssi:20210708153841p:plain

ファイル読込中

 この読み込んだファイルをRGB合成に掛けることで、補正した色チャンネルを使ったRGB合成ができます。読み込まれるのは、

originalfilename_R.tif

 Rチャンネル画像

originalfilename_G.tif

 Gチャンネル画像

 originalfilename_B.tif

 Bチャンネル画像

originalfilename_Ch_Reconstructed.tif

 再構成したチャンネル画像

以上の4本です。再構成したチャンネル画像を元々の色チャンネルの代わりに使ってRGB合成してください。

 これ以外に、ある色チャンネルだけにガンマを掛けることができます。その場合は、[Channel for reconstruction]と[Mixing Channel]に同じ色チャンネルを指定し、[Channel Mixing Ratio] には1.0を指定します(つまり混入元チャンネルで混入先を完全に置き換える)。さらに、[Gamma for Mixing Channel] に値を指定すると、そこで指定した値のガンマを掛けた色チャンネルが作成されます。

------

 ところで、お気づきの方はお気づきかと思いますが、このツールは、実は、フォトレタッチソフト(Photoshop, GIMP等)のチャンネルミキサー・モジュールと似ています。しかしこのツールは、以下の点でフォトレタッチソフトのチャンネルミキサーではできないことができます。

1. チャンネルミキシングする際に、ミックスするチャンネルに対しガンマ調整を掛けることができる。

2. チャンネルミキシングする際に、さらにミックスチャンネルの情報を比較暗/比較明でミキシングできる。

3. チャンネルミキシングした画像をファイルとして出力できるので、マスクをかけてさらにチャンネルミキシング編集を行うことができる。
 もっと具体的に説明すると、一部のフォトレタッチソフトのチャンネルミキサーはグローバルにしかチャンネルミキシングできない*1。しかし当ツールではファイルとして出力できるので、マスクと組み合わせて、ローカルに部分部分でミキシング比率を変えて再構成したチャンネルを作成することができる。

4. グレースケール画像 (輝度および明度) をミックスするチャンネルとして使える。

 

 なお、このツールを使った具体的な補正例は、次回以降掲載します。

 

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

追記: 補正例

yasuo-ssi.hatenablog.com

 

yasuo-ssi.hatenablog.com

*1:なお、Photoshopの場合、チャンネルミキサーを調整レイヤーとして設定した場合、それに対しマスクを掛けることができます。