高通滤波和低通滤波
目录
高通滤波
1.产生一个高通滤波器
2.通过傅里叶进行频域转换
3. 使用卷积进行运算(使用高通滤波)
4. 傅里叶进行逆转换
镜像颠倒的算子
低通滤波
高通滤波
高通滤波:用于增强边缘和细节,抑制低频信息(平滑区域);过程:产生一个滤波器--->傅里叶频域转换--->使用卷积运算--->傅里叶逆转换
1.产生一个高通滤波器
read_image (Image, 'printer_chip/printer_chip_01')
get_image_size (Image, Width, Height)
dev_display (Image)gen_highpass (ImageHighpass, 0.01, 'none', 'dc_center', Width, Height)
* 参数1 输出高通滤波图像
* 参数2 截止频率 值越小,保留的高频的成分越多,边缘更突出,值越大 只保留极高频的部分,建议值0.05 保留大部分的高频部分;
* 参数3 none 不采用归一化,
* 参数4 'dc_center' 频域中心模式
* 参数5、6 与图像大小保持一致最终效果如下图(图1):


2.通过傅里叶进行频域转换
fft_generic (Image, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')
* 参数1 要转换的图像
* 参数2 输出图像
* 参数3 to_freq:把空域图像转成频域图像;from_freq:把频域逆转成空域图
* 参数4 转换缩放方式 -1:正向不缩放,逆向缩放;1:正向缩放,逆向不缩放;0:不缩放
* 参数5 使用sqrt 表示缩放因子为1/sqrt(N),N 像素个数
* 参数6 频域中心模式
* 参数7 图像格式是实数和虚数部分都有最终效果如下图(图2):

3. 使用卷积进行运算(使用高通滤波)
convol_fft (ImageFFT, ImageHighpass, ImageConvol)
* 参数2 高通滤波器
最终效果如下图(图3):

4. 傅里叶进行逆转换
fft_generic (ImageConvol, ImageFFT1, 'from_freq', -1, 'none', 'dc_center', 'real')
* 参数5 'none' 正向已经使用sqrt,逆向时候尽量不要再去使用sqrt,会导致图像变暗
'real' 实数部分,消除虚部带来的噪声
最终效果如下图(图4):

最后结果:经过高通滤波之后图象是颠倒的,主要是图像格式是包含实部和虚部,再进行转换的时候,把实部和虚部也进行颠倒了导致图像会偏移处理时候可以镜像算子把图像再颠倒过来。
镜像颠倒的算子
* 行颠倒
mirror_image (ImageFFT1, ImageMirror, 'row')
* 列颠倒
mirror_image (ImageMirror, ImageMirror1, 'column')
dev_display (ImageMirror1)最终效果如下图(图5):

低通滤波
低通滤波:允许低频成分通过。抑制高频成分,能够使图像进行平滑调整。
read_image (Image, 'printer_chip/printer_chip_01')
dev_display (Image)
get_image_size (Image, Width, Height)* 创建一个椒盐噪声
sp_distribution (5, 5, Distribution)
* 将噪声添加到Image上 产生一个带有噪声的图像
add_noise_distribution (Image, ImageNoise, Distribution)dev_display (ImageNoise)
* 获取一个低通滤波模型
gen_lowpass (ImageLowpass, 0.1, 'none', 'dc_center', Width, Height)最终效果如下图(图1-1):


* 对图像进行傅里叶变换到频域图像
fft_generic (ImageNoise, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')最终效果如下图(图1-2):
* 对频率图像进行低通滤波
convol_fft (ImageFFT, ImageLowpass, ImageConvol)最终效果如下图(图1-3):
* 对的到的频率进行傅里叶变换
fft_generic (ImageConvol, ImageFFT1, 'from_freq', -1, 'none', 'dc_center', 'real')最终效果如下图(图1-4):



我们可以发现经过低通滤波的图片最终效果也是颠倒的,可以使用上面高通滤波同样处理颠倒后图片的方法。