空间域滤波与频率域滤波比较

这里我们只比较算法的时间复杂度。为什么使用空间滤波模板,而不是用频域滤波。下图给出频域计算过程和算法计算量:

空间域滤波与频率域滤波比较_第1张图片

最后得出的计算量是除去赋值操作,结果: $(4+8log2N)N^2而空间卷积(相关)如果不加优化,使用最普通的算法,时间复杂度是N^2M^2(其中M是窗宽),所以当M^2<(4+8log2N)$ 时,频域滤波速度没有优势,更主要的一点是扩展图像以后引入的高频干扰,观察下图

空间域滤波与频率域滤波比较_第2张图片

填充后的图像边缘将引入高频分量,使频域滤波后的一周有高频干扰,如图:
原图:
空间域滤波与频率域滤波比较_第3张图片
上面是一副512x512的纯白图片
采用高斯高通处理后:
空间域滤波与频率域滤波比较_第4张图片
周围的泛白就是高频成分被遗留的结果。
特别的,如果空预处理高通时,改变周围的填充策略(例如复制边缘)将不会有这种效果。

总结

总结,空域处理将占据处理的大部分,而频域更适合做分析,就像matlab一般用作模拟和实验算法,真正的工程中一般要用c,c++这些工具,所以,各有各的用途,分析和工程,都是重要的应用。

你可能感兴趣的:(OpenCV,数字图像处理,OpenCV,C++数字图像处理,冈萨雷斯第三版)