数字图像处理学习笔记5:频率域滤波1(傅里叶频谱图,低通滤波 | 您所在的位置:网站首页 › 傅里叶频谱图的含义 › 数字图像处理学习笔记5:频率域滤波1(傅里叶频谱图,低通滤波 |
文章目录
前言一、傅里叶变换:傅里叶频谱图二、低通滤波1.理想低通滤波2.布特沃斯低通滤波3.高斯低通滤波4.小结
三、高通滤波1.理想高通滤波2.布特沃斯高通滤波3.高斯高通滤波4.小结
前言
频率域滤波步骤:
使用下列代码得到图像的频谱图 I=imread('1.jpg'); I=rgb2gray(I); figure imshow(I) I=im2double(I); F=fft2(I); F=fftshift(F); F=abs(F); T=log(F+1); figure imshow(T,[]);结果: 比如对上图加入椒盐噪声,得到: 使用频谱图进行滤波,就是在频谱图中减去低频或高频分量。 二、低通滤波低 通 滤 波 = { 理 想 低 通 滤 波 布 特 沃 斯 低 通 滤 波 高 斯 低 通 滤 波 低通滤波 = \begin{cases} 理想低通滤波 \\ 布特沃斯低通滤波\\ 高斯低通滤波 \end{cases} 低通滤波=⎩⎪⎨⎪⎧理想低通滤波布特沃斯低通滤波高斯低通滤波 1.理想低通滤波理想低通滤波是在频谱图中,以0频分量(中心点)为圆心,以r为半径作的圆中,使圆外的所有高频分量置零,即只保留圆内的低频分量,以此去除噪声。 理想低通滤波器函数为: H ( u , v ) = { 1 , D< D 0 0 , D> D 0 H(u,v) = \begin{cases} 1 , & \text{D$D_0$}\\ \end{cases} H(u,v)={1,0,DD0 式中D为点到中心点的距离, D 0 D_0 D0为设置半径 函数各种表现形式如下: 以上面加了椒盐噪声的图为例进行理想低通滤波: 代码如下: im1=imread('椒盐噪声图像.jpg'); im1=rgb2gray(im1); figure imshow(im1) r=80; %设置滤波圆半径参数为80 img_f=fftshift(fft2(double(im1))); %傅里叶变换得到频谱 [m,n]=size(img_f); P_x=fix(m/2); P_y=fix(n/2); %获取圆心坐标 H=zeros(m,n); for j=1:n for i=1:m d=sqrt((i-P_x)^2+(j-P_y)^2); %计算两点之间的距离,判断在圆外还是圆内 if d D 0 H(u,v) = \begin{cases} 0 , & \text{D$D_0$}\\ \end{cases} H(u,v)={0,1,DD0 频谱图中心的值与原图像的灰度平均值相关,高通滤波中,将中心点置零,则滤波后的图像平均值变为0,图像表现较暗。代码如下: im1=imread('椒盐噪声图像.jpg'); im1=rgb2gray(im1); figure imshow(im1) r=80; %设置滤波圆半径参数为80 img_f=fftshift(fft2(double(im1))); %傅里叶变换得到频谱 [m,n]=size(img_f); P_x=fix(m/2); P_y=fix(n/2); %获取圆心坐标 img_lpf=zeros(m,n); %提前定义滤波后的频谱,提高运行速度 for j=1:n for i=1:m d=sqrt((i-P_x)^2+(j-P_y)^2); %计算两点之间的距离,判断在圆外还是圆内 if d |
CopyRight 2018-2019 实验室设备网 版权所有 |