2005-04-15[n年前へ]
■「ボケ画像」の計算方法について
「奥行値(Zバッファ)に従ってボケ量を変化させ被写界深度ブラーを作る場合、0から255の各値に相当するボケ画像(PSF)をFFT→IFFTで作成・合成しようとすると、255枚ものPSF画像とそれぞれを合成するためのマスク画像など、計算コストが掛かりそうですが…」というぐるぐる検索。たいしたことはわかりませんが、ビールを飲みながら適当に書いてみます。あまりに当たり前のことしか書けませんが…。
計算方法は…、ボケ画像のような畳み込み演算でFFTを使うと(N*Nピクセルの画像であれば)計算量が2N*Nから2N*ln(N)に減るわけですから、力任せに汎用に計算しようとするならば、(よほどPSF画像が処理対象画像に比べて小さいのでなければ)何の迷いもなくFFTを使うのが良いんでしょう(多分)。ただし、何らかの性質がPSF画像やZバッファにあるならば、その性質を利用するのが「手」かもしれません。例えば、非常にPSF画像が非常に(本当に非常に)粗であるとか、Zバッファの値は比較的近くの画素間で連続だとか…。
また、「255枚ものPSF画像とそれぞれを合成するためのマスク画像」というのはおそらくそこまで必要ではないと思います。もしも、PSF画像を(1+2n)*(1+2n)の正方領域でnが1〜128まで(つまり256*256)まででも、たかだか全部で1/3(1+n)(1+2n)(3+2n)ピクセル程度のサイズですし…。全部前もって作っておいて、それを保持していても大した容量は必要ないですから…。
■Powered
by yagm.net