焦点ボケの復元

焦点ボケのモデル化

カメラの焦点がぼけたとき、その画像はどのようになるでしょう?
いうなれば、ある絵のインクがにじんだみたいな感じではないでしょうか?

つまり、ある画素の画素値が周りの画素にも染み出てしまっているのが焦点ボケであるといえます。
またある特定の方向にボケるのではなく放射状にボケるので、その点広がり関数はr=\sqrt{x^2+y^2}に依存しそうだというのが分かります。

二次元正規分布によるモデリング

一つの方法としては二次元正規分布によるモデリングです。つまり点広がり関数h(x,y)
 h(x,y)=\frac{1}{2\pi\sigma^2}\exp\left(-\frac{x^2+y^2}{2\sigma^2}\right)
これの全範囲での積分は丁度1になります。

「インパルス関数が染み出てこの二次元正規分布になる」という仮定なので、染み出て増えたり減ったりしたらおかしいですよね。
ですのでこの積分値が1っていうのは非常に道理にかなっているわけです。

さて、この二次元正規分布ですが、フーリエ変換対が同形になるという重要な性質があります。
H(k,l)=\exp(-2\pi^2\sigma^2(k^2+l^2))
したがって逆フィルタによる復元ならばこの逆数を計算し、ボケてしまった画像のフーリエ変換に掛け算して、フーリエ逆変換してやればいいわけですね。

-2乗のモデリング

もう一つの方法は次のような関数によるモデリングです。
 h(x,y)=\frac{1}{2\pi R^2}\ (if\ x^2+y^2\leq R^2)
 h(x,y)=0\ else
1/2\piっていうのはその積分値が1になるように調整する値です。いわゆる規格化係数というやつですね。

さて、この関数をフーリエ変換してやるとこんな感じになります。
 H(k,l)=2\pi R\frac{J_1(R\sqrt{k^2+l^2})}{\sqrt{k^2+l^2}}
ここでJ_1は第一種一次ベッセル関数です。

ベッセル関数について書いてるとそれだけで幾分ページを使いそうなのでwikipediaなどにゆずります。

javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。
最終更新:2012年11月15日 22:52
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。