GIMPで手ぶれ写真を修整する


運動会での手ブレ写真を修整した例 暗い場所や時間帯での撮影や、望遠撮影ではどうしても手ブレを起こしやすくなります。最近のコンパクトデジカメのズームレンズには光学で300ミリ近い望遠までカバーするものが現れました。手持ち撮影の限界をはるかに超えているように感じます。それでなくても軽量なコンパクトデジカメでは、100ミリを超えたあたりから手ぶれによる失敗写真の確率は比例的に増えていくと考えられます。

 しかし、これはシャッターチャンス!という時にはついつい最大望遠域で手持ち撮影してしまうことは多いものです。運動会でいざ撮影するときに三脚を持ってくれば良かったと後悔する事ってあります、晴れた日ならなんとかなりますが、曇りの日だったりすると手ブレ写真のオンパレードにもなりかねません。

 手ぶれ防止機能が付いたデジタルカメラが増えましたが、手ぶれによる失敗は無くなったのでしょうか?答えはノーです。光量が足りない場所での撮影ではどうしても手ブレが起きてしまうことがあります。そこで画像修正ソフトで手ぶれ画像を修整できるものなのか、GIMPで試してみました。

GIMPプラグインツールIterative Refocusは手ぶれを解消できるのか

Iterative Refocus(Refocus-it)のダウンロードはこちら→GIMP2を使おう
※Refocus-itと記すサイトが多いですが、ここではウィンドウ名Iterative Refocusで説明します。
元画像 GIMPでピンぼけ画像を修正するで解説した[Iterative Refocus]というツールは手振れも修整する機能があると記しました。今回はこれを使ってその性能や効果を調べて見ます。まず前回の記事でも使った資料右図を縦横斜め(135度)にモーションぼかし(15px)したものと、さらに半径2pxでガウスボカシしてからモーションボカシ加工したものでテストします。

Iterative Refocusで手ブレ画像を元に戻すテストの画像(GIMP2.2) Iterative Refocusの設定値は[Radius]:0、[Gauss]:0、[Motion size]:15、[Motion angle]:それぞれ180、90、135、[Iterations]:20で、その他はデフォルト(初期)値です。[リセットボタン]をクリックすることでデフォルト値にできます。
横ブレに関してはほぼ完璧に元に戻っています。縦、斜めになるほど再現性は悪いようです。それにしても横ブレは見事なくらいきれいにブレを取除いています。間違えて出力したのではないかと思って再度テストして出力したくらいです。一定方向にぶれた画像を元に戻すだけなので、ピンボケ修正よりも簡単な処理といえるのかもしれません。処理時間も短いです。

ピンボケで手ブレした画像をIterative Refocusで元に戻すテスト(GIMP2.2) Iterative Refocusはボケとブレの設定が同時にできるようになっています。ということはピンボケの手ブレ画像も修整可能だ(かもしれない)ということです。半径2pxでガウスボカシしたものをブレさせた画像でテストした結果が右図です。クリックして大きな画像でみるとかなり荒れていますが、右のサムネイルの大きさの画像であれば、上のサムネイル画像と比較して見劣りがしません。

他のシャープ化ツールとの比較をした例(GIMP2.2) それでは、他のシャープ化ツールと比較してみます。手ブレも一種のぼかしです。上のテストで使った資料で他のツールでも判読可能になるか比較してみたのが右図です。[Iterative Refocus]で処理した画像以外は、ブレたまま鮮鋭化してもあまり意味がないことがわかります。

Iterative Refocusでハーフトーンを手ブレ修正する例(GIMP) それでは、このツールはどんな手ぶれもきれいに修正できるのでしょうか?今までは白バックのモノクロ画像でしたが、今度はハーフトーンでテストしてみます。
結果1は絶望的なくらいにゴースト状のノイズが縦方向に出現しています。白背景に黒の文字で修正した一番上のテストの設定と同じ設定で処理したものです。
結果2はノイズを軽減させるために、[Noise]に最大値である10000を設定しました。ゴーストの数はグンと減りましたが、「ABC」の文字が上下にある文字に干渉されて判読不能です。とくにBとCがなんだかわかりません。
結果3は[Noise]に高い値を設定したときシャープさが失われるのを補正するため、ほんの少しだけ[Radiuss]と[Gauss]に数値を設定してしゃきっとさせてみました。

デジカメ写真の手ブレを修整する

Iterative Refocusでデジカメ写真の手ブレを修正する例(GIMP2.2) カモメの写真を擬似的に水平に15pxモーションぼかしをかけて、上でテストした「結果3」のパラメータでカモメの画像がどこまで再現されるかテストしてみました。結果は、ウーンまぁこんなものかなといったところです。ノイズを消すために[Noise]の設定値を最大に上げてしまったため質感が乏しくなってしまいました。処理時間はおよそ8分(Pentium4 3GHz)でした。

 サムネイル画像は30パーセントに縮小したものですが、このくらいまで縮小するのであれば、なんとか使える写真になるのでは?冒頭の運動会の画像も、見本のため同様の方法でテスト出力した画像です。両方とも映りの悪いテレビをキャプチャーしたような画像になります。手ブレがその作品性を表現しているのなら別ですが、この場合は手ブレのままよりも修整した方がずっとましであることは確かです。

実際に手ブレを起こしたデジカメ画像で手ぶれを修正してみる

手ブレを起こした実例写真 これまでのテストはどれくらい手ブレを起こしたのか、どの方向にぶれているのか事前にわかっている画像でした。それでは現実に手ブレをおこしている写真ではうまく修正できるでしょうか。この写真は体育館での小学生の発表会のデジカメ写真です。左の女の子が持っている紙に書かれた文字から、手ブレによってぼやけているというのがわかります。少々ピントもボケているようです。

定規ツールで手ブレの角度を測る図(GIMP2.2) どの方向にぶれているのかは、[定規]ツールを使って測ります。右図のように測るとおよそ48度であることがわかります。この角度は右から測った角度なので、設定画面には左から測った角度に直して入力します。180-48=132となります。

定規ツールで手ブレのブレ幅を測る図(GIMP2.2) ピクセルぶれているかも同様に[定規]ツールで測ります。赤丸の部分では3.6と表示されていますが、だいたい4ピクセルでいいでしょう。

Iterative Refocus のダイアログ画面での設定例の図(GIMP2.2) 設定は右図のようになります。[Iterations]を小さな値、1〜3にして、[Preview]ボタンをクリックして確認します。ノイズや荒れがあるプレビュー画像になりますが、大体良さそうだったら今度は最大または実際に描画する値に大きくしてプレビューします。角度→[Motion angle]やブレの度合→[Motion size]に過不足があるようだったら適宜修正してやりなおします。大丈夫なようだったら[OK]ボタンをクリックします。

実際の手ブレ写真を各シャープ化ツールで比較した図 左上に元画像、右上に「Iterative Refocus」での修正、下段にはそれぞれ「非シャープ化マスク」と「Refocus」で処理したものを並べました。「Iterative Refocus」で修整した画像は、処理後シャープさが足りなかったためほんの少し[非シャープ化マスク]でメリハリをつけています。下段のそれぞれの写真は、鮮鋭化したために手ブレが強調され、少女の目が不自然にパッチリしているように見えます。反面、赤いメガホンは「Iterative Refocus」で処理したものははっきりしましたが、「非シャープ化マスク」や「Refocus」での処理ではぼやけています。「Iterative Refocus」による手ブレ補正の効化が発揮されたといえるでしょう。実際の使用では、処理した画像からある程度縮小することで、手ぶれ補正による画面の荒れを目立たなくするような使い方がベストだと思います。こうすることで手ブレによる失敗写真を甦らせることができるのではないでしょうか。