[お知らせ]
以下に新バージョンを公開しています。そちらをお使いください。
------------------
先日、GIMP を使って、フィルムなどをスキャンした画像の広範囲のほこり、傷等を一度に削除する方法について記事を書きました。
ただ、GIMP 上でほこり等を取るマスクを作るのが面倒という方もいらっしゃると思います。そこで、フリーの画像処理ソフトである ImageJ を使ってほこり取りマスクを作るプラグインを作りました。このツールを ImageJ にインストールしておくと、ImageJ 上で簡単にほこり取りマスクが作れます。このマスクを使って GIMP などのレイヤー編集をサポートする画像処理ソフトで広範囲なほこり、傷取りが可能になります。
そもそも ImageJ のインストール方法については、本記事の一番下をご覧ください。
また本ツールのダウンロード元はこちらです。
ImageJ のプラグインフォルダに拙作のプラグインを入れますと下記のようにメニューから起動できます。なお筆者の場合、プラグインフォルダの下に My_plugins というフォルダを作り、その下に自作のスクリプトを入れていますので、メニューの My plugins の下から起動するようになっています。
また、[File] → [Open] からこのプラグインを読み込んで、run コマンドをクリックしても起動が可能です。
起動すると、ファイル選択ダイアログが開きますので、対象ファイルを開きます。
次にチャンネル選択ダイアログに移りますので、対象チャンネルを選択します。その際チャンネルのプレビューが表示されるので、どのチャンネルがほこりや傷を最もはっきり表示するか確認することができます。またオリジナルがネガフィルムの場合、つまりほこりなどが白抜きに表示される場合は、Negative film image のチェックボックスにチェックを入れます。
また GIMP と異なるのは、Lightness もしくは Luminosity を使ったマスクを簡単に作れることです (GIMP だとまた面倒です)。
なお、単チャンネルのモノクロ画像の場合は、チャンネル選択のリスト選択ボックスと画像プレビューは表示されず、Negative film image のチェックボックスのみ表示されます。
すると、次のパラメータ設定ダイアログが表示されます。先ほどネガフィルムをチェックした場合は、ここでのプレビュー画面はほこりや傷を黒く表示させるため反転画像になります。ここで、下記のように、まずガウスぼかしのぼかし量を調整します。ガウスぼかしのスライダーを動かさないと画像がぼけません。
ぼかし量が決まったら、以下のようにマスクの閾値の上端と下端を設定し、さらにマスクの効果の強さ (透過度) も調整します。スライダーを動かすと、ほこりや傷が白抜きで表示されます。
下端の閾値を下げるとほこり等が多く白抜き表示されますが、ほこりでないところも白抜きになります。上げると白抜きになるほこり等の数が減ります。上端の閾値を下げるとマスクのコントラストがよりはっきりし、上げるとコントラストが弱まります。適切なところでバランスを取るのが肝心です。
マスクの効果量を上げると、白抜きになった部分の白さ (透過度) が上がります。
調整が終わったら OK ボタンを押します。マスク作成が終わると、下記のダイアログが出ますので OK ボタンを押して終了します。
終わりますと、元のファイル名に、"_spots_remove_mask.tif" と追加された名前のファイルができますが、このファイルがマスク画像ファイルになります。
-------------------------
[作成されたマスク画像を使ったほこり等の除去]
GIMP 上で、読み込んでおいた編集対象ファイルの元の画像レイヤーの複写を作ります。そして、複写したレイヤーを、完全にほこり等が見えなくなるまでガウスぼかしを掛けます。
このガウスぼかしを掛けたレイヤーに対し、このプラグインで作成したマスク画像をレイヤーマスクとして掛けます。
この際、以下の筆者が作成したプラグインを導入してあると、簡単にマスクが掛けられます。
マスクを掛けたら、マスクを編集モード & 可視化モードにし、マスクを適用したくないところを黒で塗りつぶしてください。塗りつぶさないと、不必要な部分に光暈のようなぼけ (ハロ) が発生します。
編集が終了したら、マスク画像の可視化を解除すると、ほこりや傷が補正されます。
上の図ではまだうっすらとほこりの影が残っています。補正が不十分な場合は、再度マスクを編集モードにし、レベル補正を使って、ホワイトポイントのレベルを下げるとうまくいくことが多いです。その際選択範囲はすべて選択にします。
これで、ほこりがほとんど目立たなくなったのが確認できると思います。
GIMP 上でマスクを作るより手間は省けますが、GIMP 以外に ImageJ を立ち上げるのを手間と思うかどうか... あたりが問題になるかもしれません。
-------------------------
ImageJ のインストールについては、以下の記事をご覧ください。
また、筆者作成のプラグインスクリプトのインストールについては、以下の記事をご参照ください。