8

私はOpenCVを使用して、携帯電話で撮影した写真を処理しています。写真にはテキストが含まれており、モーションブラーが少し含まれているため、削除する必要があります。

使用するのに最も実行可能なアルゴリズムは何でしょうか?これまでにLucy-RichardsonとWeinerのデコンボリューションをテストしましたが、満足のいく結果は得られませんでした。

4

4 に答える 4

6

@TheJuiceに同意してください、あなたの問題はPSF推定にあります。通常、単一のフレームからこれを実行できるようにするには、ブラーにつながる要因(オブジェクトの動き、センサーの動きのタイプなど)についていくつかの仮定を行う必要があります。

特に一次元の場合、ここでいくつかのポインタを見つけることができます。彼らは、ほとんどの場合、ぼけからの相関を残し、元の画像の空間相関を破棄するフィルタリング方法を使用し、これを使用して、動きの方向を推定し、それからPSFを推定します。小さなぼかしの場合、モーションを一定と見なすことができる場合があります。それ以外の場合は、より複雑な加速モーションモデルを使用する必要があります。

残念ながら、携帯電話のぼかしは、CCD統合と非線形運動(視線に垂直な平行移動、手首の動きからのヨー、手首の周りの回転)の複合であることが多いため、YitzhakyとKopeikaの方法では、おそらく許容できる結果しか得られません。少数のケース。それに対処する方法(「深い気づき」など)があることは知っていますが、私はそれらに対処する機会がありませんでした。

フォーカスマジックなどの写真回復ソフトウェアを使用して結果をプレビューできます。YK Estimatorを使用していませんが(モーションの説明はあなたに任されています)、残りのワークフローは必然的に非常に似ています。あなたの写真がFocusMagicの回復に適している場合は、おそらくYKメソッドが機能します。それらが十分でない場合(または十分でないか、価値があるほど十分でない場合)、それを実装しようとしても意味がありません。

于 2012-10-11T21:03:31.453 に答える
4

モーション ブラーは克服するのが難しい問題です。最良の結果が得られるのは次の場合です。

  1. シーンに対するカメラの速度は既知です
  2. 相関できるぼやけたオブジェクトの写真がたくさんあります。

テキストを見ているという点で、大きな利点が 1 つあります (これは通常、ハイ コントラスト機能を構成します)。デコンボリューションを画像のハイ コントラスト (ハイ コントラストを除外することが多いことはわかっています) の領域にのみ適用すると、文字をよりよく認識できる結果が得られるはずです。また、シャープ化/ぼかしフィルターの前/後処理の組み合わせが役立つ場合があります。

私は以前、この論文に感銘を受けたことを覚えています。おそらく、それらの実装への適応は一見の価値があります。

于 2012-10-11T16:26:46.923 に答える
1

ポイントスプレッド関数の推定は、使用されるアルゴリズムよりも重要になる可能性が高いと思います。削除しようとしているモーションブラーの種類によって異なります。線形モーションが最も簡単である可能性がありますが、削除しようとしている種類である可能性は低いです。露出中の手の動きによって引き起こされる非線形だと思います.

于 2012-10-11T20:33:20.363 に答える
0

モーション ブラーを除去することはできません。情報は永久に失われます。あなたが扱っているのは、複数の実際のオブジェクトを単一のピクセルに記録し、それらを一緒に汚す CCD です。つまり、ピクセルの読み取り値が 56 の場合、実際の読み取り値が時間 1 で 37、時間 2 で 62、時間 3 で 43 であったと魔法のように判断することはできません。

別の見方をすると、5 枚の写真があるとします。次に、Photoshop を使用して写真をブレンドし、各ピクセルの値を平均化します。ブレンドされた画像から、元の 5 つの画像が何であったかがわかりますか? いいえ、それを行うための情報がないため、できません。

于 2012-10-11T20:20:34.173 に答える