成果物
Computer Shaderで画像のFFTをやっている方がいたので、それを使おうと思ったのですが、失敗したので、Numpyを使って、実験してみることにしました。非常に高速で便利です。ガウシアンフィルタ以外の様々なカーネルが使えるはずなのですが、上手くいかなかったので、ひとまずガウシアンフィルタを使っています。
仕組み
対象画像と、ガウシアンカーネルをフーリエ変換し、出力結果を乗算します。そして、逆フーリエ変換をかけるとぼかされた画像が得られます。
参考
numpyとopenCVを使った画像のフーリエ変換と逆変換 – Python in the box
Simple image blur by convolution with a Gaussian kernel — Scipy lecture notes
コード
gist.github.com
どんな画像でもぼかせますが、同じ画像が欲しい方はこちらからどうぞ。
github.com