高斯滤波器
2D高斯滤波器的公式
公式如下, u , v u,v u,v 为滤波器的坐标,最中心为(0, 0),具体请参见下面的代码
f ( u , v ) = 1 2 π σ 2 e − u 2 + v 2 2 σ 2 f(u, v) = \frac{1}{2 \pi \sigma^{2}}e^{- \frac{u^{2}+v^{2}}{2 \sigma^{2}}} f(u,v)=2πσ21e−2σ2u2+v2
代码生成
生成一个 σ = 5 \sigma = 5 σ=5 的高斯滤波器
def GaussianFilter(u, v, sigma):
f = (1 / (2 * math.pi * sigma**2)) * math.e**(-(u**2+v**2) / 2*sigma**2)
return f
GFKernel = [[GaussianFilter(-1, 1, 5), GaussianFilter(0, 1, 5), GaussianFilter(1, 1, 5)],
[GaussianFilter(-1, 0, 5), GaussianFilter(0, 0, 5), GaussianFilter(1, 0, 5)],
[GaussianFilter(-1, -1, 5), GaussianFilter(0, -1, 5), GaussianFilter(1, -1, 5)]]