昨日、新・輝度マスク作成ツールをバージョンアップしましたが、今回はそれを応用した編集事例編です。
既にポジフィルムをデジタル化した画像の汚れ取りに関しては以下の記事に書いています。
yasuo-ssi.hatenablog.com ただ、この記事の場合は、カビもありますが、色のついた汚れの補正について書きました。単純な埃やカビの場合は、これも先日書いたモノクロフィルムのデジタルカビ取りが応用できそうです。
yasuo-ssi.hatenablog.com そこで、今回は先日バージョンアップした新・輝度マスク作成ツールを使って埃やカビ取りを行う方法について書いてみます。
カラーフィルムの場合、スキャナを使うと多くの場合自動的に埃を取る機構が使えます。しかしKodachromeの場合、あるいはデジタルカメラを使って取り込みを行う場合は、それらの機構は使えません。埃がそんなになければ、画像処理ソフトのスポット補正機能や、GIMPの場合は、スマート消去などを使うと簡単に除去できますが、埃のついている箇所が多数に及ぶ場合、あるいはカビが画面上はびこっている場合はかなり面倒です。そこで今回は、モノクロネガフィルムのカビ取り記事を応用することにしました。但し、モノクロネガと異なる点は、フィルムがネガではなくポジなので、補正に使うマスクも反転させないといけないということです(ネガは埃やカビが白く、ポジは黒く映る)。
まずオリジナルフィルムを見てみます。空の方に何か所か埃がついています。
拡大してみます。
こんな細かい埃が多数あると面倒です。そこでまずRGB分解をして、どのチャンネルが一番埃の識別に適しているかを見ます。
どうもBチャンネルが、埃がくっきりと写っており、空の埃の識別に最も適しているようです。そこで今回は先日バージョンアップしたImageJ対応の新・輝度マスク作成ツールを使って、埃取り用マスクを作成します。単に輝度に基づいたマスクを作るのであれば、モノクロネガフィルムのカビ取りでご覧に入れたように、相対RGB色マスク画像作成ツールを使っても良いのですが、今回はカラーチャンネル画像を基にマスクを作るので、新・輝度マスク作成ツールを使います。
まずこのツールを起動すると、チャンネル選択ダイアログになりますので、両方ともブルーを選択します。
次のパラメータ入力画面で最低閾値と最高閾値を入れます。空の埃を取る場合、最高閾値は255で良いと思いますが、最低閾値は、おおむね埃のある周辺の明度に近い値を設定します。後で述べますが、埃のある場所の周辺明度はいろいろありうるので、複数の明度のマスクを作っておき、複数のレイヤーを使って補正するようにしたほうが良いと思います。透過係数は4ぐらいが良いでしょう。また一番上、[Negaマスクを作る]にチェックを入れておきます。これは埃が黒く映るためです。つまり、黒い埃が白く映るマスクを作るわけです。
例えば、作成したマスクの例は以下です。埃の部分が白抜きになっているのが分かると思います。
マスクを作成したら、GIMPにもどり、元の画像を読み込んだレイヤーの上に補正用レイヤーを新しいレイヤーとして追加します。
レイヤー名は何でも良いですが(下のサンプルでは「ほこり補正1」としている)、必ず塗潰し色を[透明]にします。
追加した埃補正レイヤーに ImageJで作った、マスクを掛けます。GIMP上でマスクを掛ける際は、拙作の以下のツールがGIMP上に導入してあると便利です。
マスクを掛けたら、マスクを編集モード & 表示させます。右ボタンを押してコンテキストメニューからモードを選んでください。
マスクを編集&表示モードにしたら、下図のように、マスクを編集します。使わない部分を黒塗りにしていきます。
マスク編集が終わったらマスク編集&表示モードを終わらせます。コンテキストメニューを表示させ、モードをオフにして下さい。
そうしたら、オリジナル画像のレイヤーが選択されているのを確認した後、埃の近くの正常な部分を下図のように範囲指定します。
範囲指定した部分を Ctrl+C でコピーし、補正レイヤーを選択します。
そうしたら、Ctrl+V で貼り付けます。すると一旦フローティングレイヤーとして貼りつくので...
この状態で埃が隠れるように貼り付けた部分を右に移動します。
きれいに隠れました。ここで、[レイヤーの固定]を選ぶか、Ctrl+Hを押して、フローティングレイヤーを下の補正レイヤーと結合させます。この方法の、周囲の似たコンテクストのところを単純に選択&コピーして貼り付けるより、より有利な点は何かというと、埃以外の余計な部分を消す心配がないということです。例えば下記のような埃を消すには、この方法が非常に有利です。
周囲の似た部分をただ貼り付ける場合、埃以外に、霜がついて白く映っている電線を消してしまう可能性がありますが、この方法だと黒っぽい埃の部分だけマスクが透過しますので、白い電線を消す心配がありません。
上の編集マスクのかかった補正レイヤーに、埃周辺部分の似たようなコンテキスト部分をコピーして貼り付け、埃を隠します。結果は下記です。
このようなケースでは、Resynthesizerを使っても、電線のところがうまくつながってくれるか微妙です。但し周辺の消したくない模様が埃と同じような明度だと (例えば電線が黒の場合)、ちょっと難しくなります。この場合は、下記のようなオーソドックスな方法を使うべきかと思います。
yasuo-ssi.hatenablog.com なお、埃がきれいに隠れるかどうかは、マスクのパラメータ(明度の下限閾値)と埃の周辺の明度の値がうまくマッチするかどうかによります。合わないと、うまく隠れてくれません (埃が多少薄くなる程度、もしくは境界線が目立つなど)。そこで、マスクもパラメータを変え数段階のマスクを作成するとともに、それぞれのマスクを掛ける複数の補正レイヤーを用意したほうが良いです(下図)。
また、最終的にうまくいかない部分がある場合はその部分だけ、Resynthesizerのスマート消去を使う等対応してみてください。下が最終的な補正結果です。埃を消去した後ARTで全般的な補正を掛けています。
とはいえ、この方法もそこそこ手間がかかります。従ってこの方法を使うべきなのは、以下の場合です。
1) ほこりが非常にたくさんあり、一つ一つ取り切れない場合
広範囲のほこりを一気に消せる可能性があります。
2) カビの痕跡の消去
逆に、取り除くべき埃のある個所が数カ所にとどまる程度なら、GIMPのResynthesizerを使ったり、他の画像処理ソフトのスポット補正などのツールを使った方がよいと言えます。