可変半径 (標準偏差) のガウスぼかしを書いています。つまり、画像の各ピクセルは異なるカーネルを使用して畳み込まれています。ガウスぼかしを計算するための標準的な手法はここでは機能しません: FFT、軸分離、繰り返されるボックスぼかし - それらはすべて、カーネルが画像全体で同じであると仮定しています。
今、私は次のスキームを使用してそれを近似しようとしています:
ガウス カーネル K(x,y) を、次のように、軸に沿った四角形 R kの集合 Nと係数 α kによって定義される区分定数関数 f(x,y) で近似します。
f(x,y) = ∑<sub>k=1 N α k ·χ R k (x,y)
g(x,y) を画像とすると、
∬<sub>ℝ<sup>2 K(x,y)·g(x,y) dxdy ≈ ∬<sub>ℝ<sup>2 f(x,y)·g(x,y) dxdy = ∑< sub>k=1 N α k ·∬<sub>R k g(x,y) dxdy
RHS の積分は四角形の単純な積分であるため、画像全体の部分和を事前に計算することで一定時間で計算できます。
結果のアルゴリズムは O(W·H·N) で実行されます。ここで、W と H は画像の次元であり、N は (AFAIK) 近似の誤差に反比例します。
残りの部分は、適切な近似関数 f(x,y) を見つけることです。長方形の数 N (誤差を最小化) または誤差 (長方形の数を最小化) が与えられたときに、ガウス分布の最適な近似を見つける方法は?