快速高斯模糊综述
文章目录
高斯滤波的应用是非常广泛的,其原理是用高斯函数对原信号做卷积运算,得到一个平滑的信号。也即:
其中为输入信号,为高斯函数,为输出信号,。 而数字图像是二维有限的离散函数,因此只能用离散的卷积进行近似,常用的方法有以下这些:
空间域高斯卷积
对于图像高斯模糊来说,最常用的方法莫过于用截取的离散高斯核在图像空间域内做卷积。也即:
其中是一个使用高斯函数预先计算好的离散卷积核。 这种算法的时间复杂度为,其中N为图像大小,R为卷积核大小。从中可以看出,这个算法有一个缺点,当过大或者图像分辨率很高的时候,卷积核也会变得很大,因此这种方法只适合于卷积核较小的情况。
频率域高斯乘积
另外一种常用的方法是先对图像做离散傅里叶变换(DFT),在频域内与高斯函数相乘,这样就能保留低频部分,除去高频信息。然后再反变换回来,得到最终的图像。不过即使使用快速傅里叶变换(FFT),其时间复杂度也达到了。好在其时间复杂度与高斯核的大小无关,这对于分辨率较小,但是很大的图片来说是很合适的。
盒状滤波器近似
还有的方法采用盒状滤波器来近似高斯滤波器,其原理依据是中心极限定理。最早由Wells, W.M的论文Efficient synthesis of Gaussian filters by cascaded uniform filters中提出,发表在1986年的TPAMI上。对于一个确定的来说,一次高斯滤波可以通过多次盒状滤波来近似。盒状滤波可以达到的复杂度,因此这种近似方法的复杂度也为,比如这篇博客里面Fastest Gaussian Blur (in linear time)就做了详细介绍。
不过盒状滤波器也存在不足,使用整数大小的盒状滤波器难以构造任意的高斯滤波器,与其他方法相比,其结果存在较大的偏差。
递归高斯滤波
递归高斯滤波的方法比较经典的论文为R. Deriche于1993年发表的Recursively implementing the gaussian and its derivatives
文章作者 Lianera
上次更新 2017年11月24日