logo资料库

基于matlab的数字图像的频域滤波器设计.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
实验一:数字图像的频域滤波器设计 一、实验目的 掌握 matlab 程序设计语言,掌握 matlab 基本数据类型、核心函数及辅助函数的使用。掌握 理想和高斯低通滤波器的设计方法。 二、实验内容 利用理想和高斯低通滤波器实现图像的频域滤波; 利用理想和高斯高通滤波器实现图像的频域滤波; 三、实验原理 二维理想低通滤波器的传递函数为: ( , ) H u v 1. ( , ) D u v D  0   0. ( , ) D u v D  0   D0 是指定非负数值,D(u,v)是(u,v)点距频率中心的距离。如果要研究的图像尺寸为 M X N,则 它的变换也有相同的尺寸。在半径为 D0 的圆内,所有频率无衰减地通过滤波器,而在此半径之外的所有频 率完全被衰减掉。 高斯高通滤波器传递函数为: ( , ) H u v e 2 D u v ( , )/2 2 D 0 D(u,v)是距傅立叶变换中心原点的距离。D0 是截止频率。高斯低通滤波器的傅立叶变 换也是高斯的。 二维理想高通滤波器的传递函数为: ( , ) H u v 0. ( , ) D u v D  0   1. ( , ) D u v D  0   D0 是从频率矩形中点测得的截止频率长度,它将以 D0 为半径的圆周内的所有频率置零, 而毫不衰减地通过圆周外的任何频率。但其物理上是不可实现的。 高斯高通滤波器传递函数为: H u v ( , ) 1   e  2 D u v ( , )/2 2 D 0 高通滤波器能够用高斯型低通滤波器的差构成。这些不同的滤波器有更多的参数,因此能 够对滤波器的形状进行更多的控制。
四.实验设备和仪器 1.计算机 2. matlab 开发平台 五.关键代码及注释 1. 理想低通滤波器 RGB = imread('saturn.png'); I0 = rgb2gray(RGB); subplot(2,3,1),imshow(I0);title('原图'); I1 = imnoise(I0,'gaussian'); %对原图像加噪声 subplot(2,3,2),imshow(I1);title('加入噪声后') %将灰度图像的二维不连续 Fourier 变换的零频率成分移到频谱的中心 s=fftshift(fft2(I1)); subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift'); [M,N]=size(s); n1=floor(M/2); n2=floor(N/2); %ILPF 滤波(程序中以 d0=15 为例) d0=50; for i=1:M for j=1:N %分别返回 s 的行数到 M 中,列数到 N 中 %对 M/2 进行取整 %对 N/2 进行取整 %初始化 d0 d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 %点(i,j)在通带内的情况 %通带变换函数 %点(i,j)在阻带内的情况 h(i,j)=0; %阻带变换函数 if d<=d0 h(i,j)=1; else end s(i,j)=h(i,j)*s(i,j); %ILPF 滤波后的频域表示 end end s=ifftshift(s); %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s))); subplot(2,3,4),imshow(h);title('传递函数'); %显示 GHPF 滤波器的传递函数 subplot(2,3,5),imshow(s); title('ILPF 滤波(d0=50)'); %显示 ILPF 滤波后的图像 2. 高斯低通滤波器 RGB = imread('saturn.png'); I0 = rgb2gray(RGB);
subplot(2,3,1),imshow(I0);title('原图'); I1 = imnoise(I0,'gaussian'); %对原图像加噪声 subplot(2,3,2),imshow(I1);title('加入噪声后') %将灰度图像的二维不连续 Fourier 变换的零频率成分移到频谱的中心 s=fftshift(fft2(I1)); subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift'); [M,N]=size(s); %GLPF 滤波 d0=50; n1=floor(M/2); n2=floor(N/2); for i=1:M for j=1:N %分别返回 s 的行数到 M 中,列数到 N 中 %初始化 d0 %对 M/2 进行取整 %对 N/2 进行取整 d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h(i,j)=1*exp(-1/2*(d^2/d0^2)); %GLPF 滤波函数 s(i,j)=h(i,j)*s(i,j); %GLPF 滤波后的频域表示 end end s=ifftshift(s); %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s))); subplot(2,3,4),imshow(h);title('传递函数'); %显示 GHPF 滤波器的传递函数 subplot(2,3,5),imshow(s);title('GLPF 滤波(d0=50)'); %显示 GLPF 滤波处理后的图像 3. 理想高通滤波器 RGB = imread('saturn.png'); I0 = rgb2gray(RGB); subplot(2,3,1),imshow(I0);title('原图'); I1 = imnoise(I0,'gaussian'); %对原图像加噪声 subplot(2,3,2),imshow(I1);title('加入噪声后') %将灰度图像的二维不连续 Fourier 变换的零频率成分移到频谱的中心 s=fftshift(fft2(I1)); subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift'); [M,N]=size(s); n1=floor(M/2); n2=floor(N/2); %IHPF 滤波 d0=15; for i=1:M for j=1:N %分别返回 s 的行数到 M 中,列数到 N 中 %对 M/2 进行取整 %对 N/2 进行取整 %初始化 d0 d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 if d<=d0 %点(i,j)在通带内的情况
h(i,j)=0; %通带变换函数 h(i,j)=1; %阻带变换函数 %点(i,j)在阻带内的情况 else end s(i,j)=h(i,j)*s(i,j); %ILPF 滤波后的频域表示 end end s=ifftshift(s); %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s))); subplot(2,3,4),imshow(h);title('传递函数'); %显示 GHPF 滤波器的传递函数 subplot(2,3,5),imshow(s); title('IHPF 滤波(d0=15)'); %显示 IHPF 滤波后的图像 4.高斯高通滤波器 RGB = imread('saturn.png'); I0 = rgb2gray(RGB); subplot(2,3,1),imshow(I0);title('原图'); I1 = imnoise(I0,'gaussian'); %对原图像加噪声 subplot(2,3,2),imshow(I1);title('加入噪声后') %将灰度图像的二维不连续 Fourier 变换的零频率成分移到频谱的中心 s=fftshift(fft2(I1)); subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift'); [M,N]=size(s); %GHPF 滤波 d0=15; n1=floor(M/2); n2=floor(N/2); for i=1:M for j=1:N %分别返回 s 的行数到 M 中,列数到 N 中 %初始化 d0 %对 M/2 进行取整 %对 N/2 进行取整 d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h(i,j)=1-1*exp(-1/2*(d^2/d0^2)); %GHPF 滤波函数 s(i,j)=h(i,j)*s(i,j); %GHPF 滤波后的频域表示 end end s=ifftshift(s); %对 s 进行反 FFT 移动 %对 s 进行二维反离散的 Fourier 变换后,取复数的实部转化为无符号 8 位整数 s=uint8(real(ifft2(s))); subplot(2,3,4),imshow(h);title('传递函数'); %显示 GHPF 滤波器的传递函数 subplot(2,3,5),imshow(s);title('GHPF 滤波(d0=15)'); %显示 GHPF 滤波处理后的图像
六.实验结果 图一 理想低通滤波器 图二 高斯低通滤波器 图三 理想高通滤波器 图四 高斯高通滤波器
分享到:
收藏