
谈谈我的理解
卷积是一种运算操作,傅里叶变换是一种变换操作。卷积在图像处理的应用中一般是卷积滤波,即用一个卷积模板(卷积核/滤波器)去进行滤波,而傅里叶变换在信号处理中往往是变换时域和频域,在图像处理中便是空域和频域。那么我先把你说的边缘处理就认为是图像滤波里面的一种好了。那问题就变成是图像处理
空域滤波
和时域滤波
的对比了。卷积滤波
不用多说,原理就是一个卷积核去对图像进行卷积操作。这里附上二维卷积的实现可以得到,假如原图是M*N大小,卷积核为m*n, 时间复杂度约为
M * N * m * n
而卷积核通常比较小,一般有 3 * 3 和 5 * 5等,所以可以卷积滤波算法复杂度可以约为 c * M * N ,c为常数
时域滤波过程与一般信号处理一样,就是傅里叶变换到时域->在时域进行操作->傅里叶反变换回空域。
频域滤波过程
原图像大小 M * N
扩充后, 2M * 2 N
fft变换到频域, 计算量 2M * 2N * log( 2M * 2N), 即 4M * N * log (4M * N)
对应相乘, 计算量 2M * 2N ,即4M * N
ifft变换回空域, 计算量 2M * 2N * log( 2M * 2N), 即 4M * N * log (4M * N)
所以可以得到频域滤波算法复杂度为4M*N + 4M * N * log (4M * N)
即M*N(4 + log(4M * N))。 所以与 c * M * N 相比,算法复杂度上频域滤波一般是没什么优势的。
然后另一个点是,在频域滤波第2步中,扩充图像回引入高频分量,从而带来干扰。
如图,扩充后,两个边界就会引入高频分量。
所以,我觉得一是算法复杂度没有相比卷积没有优势,二是可能会引入高频分量干扰。卷积的方法会更适合在实际应用的处理之中,而傅里叶变换到频域去我觉得更适合用来分析就好。
为什么现在对图像边缘的处理大多数是用卷积而不是傅里叶变换? - 芒果小屋
