一、傅里叶变换
一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜。棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定。
傅里叶变换可以看做数学上的棱镜,将函数基于频率分解为不同的成分。当我们考虑关时,讨论它的光谱或频率谱。同样,傅里叶变换使我们能够通过频率成分来分析一个函数。
图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。
傅里叶变换在图像处理中可以做到图像增强与图像去噪、图像分割之边缘检测、图像特征提取、图像压缩等。
如果对一幅精细的图像使用低通滤波器,那么滤波后的结果就只剩下轮廓了。
高频成分:图像细节纹理属于高频分量,是图像灰度值变化剧烈的部分。
低频成分:图像背景与轮廓属于低频分量,是图像灰度值变化缓慢的部分。
低通滤波器:gen_lowpass 对空间域图像进行平滑处理,抑制高频分量。
高通滤波器:gen_highpass 对空间域图像进行锐化处理,抑制低频分量。
带通滤波器:gen_bandpass 使图像在某一部分的频率信息通过,其他过高或过低的频率信息抑制。
带阻滤波器:使图像过低或过高的频率信息通过,某一部分频率信息抑制。
二、相关算子
gen_gauss_filter( : ImageGauss : Sigma1, Sigma2, Phi, Norm, Mode, Width, Height : )
- 在频域产生一个高斯滤波器
- 2.高斯分布在滤波器主方向上的空间域标准差,Sigma越大,高斯滤波器的频带就越宽,对图像平滑程度越高。
- 3.垂直于滤波器主方向的高斯分布在空间域的标准差。
- 4.滤波器在空间域的主要方向
- 5.滤波器的归一化因子。‘n’ 避免在FFT中归一化
- 6.直流项在频域的位置。
- 如果使用fft_generic,可以使用’dc_edge’来提高效率。
- 如果使用fft_image和fft_image_inv进行滤波,则必须使用Norm = 'none’和Mode = ‘dc_center’。
- 如果使用rft_generic,则必须使用Mode = ‘rft’。
derivate_gauss (Image, ImageGauss, 3, ‘none’)
- 将一个图像与高斯函数的导数进行卷积。效果与FFT进行高斯滤波差不多。
主要的区别是边界处理:FFT的定义假设信号是周期性的,因此边界处理是循环的延续。与此相反,derivate_gauss在图像边界使用灰度值的镜像。
通过FFT进行过滤的速度已经快于在Sigma=3(排除创建过滤器的时间)中使用derivate_gauss。这种优势随着Simag的增大而变得更加明显。
‘none’ 仅使用平滑
‘x’ 沿X的一阶导数
gen_derivative_filter (DerivativeFilter, ‘x’, 1, ‘n’, ‘rft’, Width, Height)
- 在频域内产生一个导数滤波器,导数过滤器没有使用任何平滑
- 还要注意的是,不经过平滑处理的导数计算通常不会返回有用的结果,因为噪声会被显著放大。
gen_sin_bandpass (ImageBandpass, 0.4, ‘none’, ‘rft’, Width, Height)
- 生成一个正弦形状的带通滤波器
2.滤波器与直流项的最大距离
3.滤波器的归一化因子
4.直流项在频域的位置
5.图像宽度