资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
图像平滑滤波 学号:A01314063 姓名:陈文鹏 1.实验目的: 分别使用空域法、频域法实现图像平滑滤波,分析空域滤波器和频 域滤波器之间的转化过程 2.实验方法和步骤: 1.空域法图像平滑滤波: 方法:邻域平均法 步骤:1.imread()读取图像。 2. rgb2gray()函数将原图转换为灰度图。 3. imnoise()函数为原图加高斯白噪声。 4. double()将加了噪声的图转换为双精度型。 5.创建3*3模板,用模板对噪声图邻域平均,Image()显示处理 后的图像。 6.创建5*5模板,用模板对噪声图邻域平均,Image()显示处理 后的图像。 7.创建7*7模板,用模板对噪声图邻域平均,Image()显示处理 后的图像。 其源程序代码如下: clear; clc; close all; I=imread(E:cwp.jpg); %读取图像 f=rgb2gray(I);%将原图转换为灰度图 subplot(2,3,1);%分割2*3个窗口。取第一个窗口,下面在第一个窗口处显 示图像 imshow (f);%显示灰度图 colormap(gray); title(原始图)%给显示的图像命名为“原始图” J=imnoise(f,gaussian,0,0.09);%给原始图加入参数为0.09的高斯白噪声 subplot(2,3,2);%分割2*3个窗口。取第二个窗口 imshow(J);%显示加了高斯白噪声的图像 title(噪声图)%命名为“噪声图” m n=size(f); %获取灰度图的大小 f=double(f);%转换f为双精度型 c=1/9*1 1 1;1 1 1;1 1 1; %3*3模板 for i=1:m for j=1:n L=f(i:i,j:j).*c; %求点积 G(i,j)=sum(sum(L);%求和 end end subplot(2,3,3);image(G);%取第三个窗口 title(3*3模板)%命名为“3*3模板” c=1/25*1 1 1 1 1;1 1 1 1 1;1 1 1 1 1; %5*5模板 for i=1:m for j=1:n L=f(i:i,j:j).*c; %求点积 G(i,j)=sum(sum(L);%求和 end end subplot(2,3,4);image(G);%在第四个窗口中显示图像 title(5*5模板)%命名为“5*5模板” c=1/49*1 1 1 1 1 1 1;1 1 1 1 1 1 1;1 1 1 1 1 1 1; %7*7模板 for i=1:m for j=1:n L=f(i:i,j:j).*c; %求点积 G(i,j)=sum(sum(L);%求和 end end subplot(2,3,5);image(G);%在第五个窗口中显示图像 title(7*7模板)%命名为“7*7模板” end 2.频域法图像平滑滤波: 方法:二阶布特沃斯低通滤波法 步骤:1.imread()读取图像。 2.Size()函数获取图像矩阵大小。 3.将矩阵转换为双精度型,再将原图转换为灰度图。 4.wgn()函数产生高斯白噪声并加入原来图像中。 5.fft2()对图像进行傅立叶变换。 6.巴特沃斯低通滤波器传递函数与图像傅立叶变换相乘。 7.ifft2()函数进行逆傅立叶变换。 8.image()函数显示图像。 其源程序代码如下: clear; clc; close all; I=imread(E:cwp.jpg); %读取图像 m n p=size(I);%获取图像矩阵大小 I=double(I);%将原来的图像矩阵转换为双精度型的 I=I(1:m,1:n,1).*0.3+I(1:m,1:n,2).*0.51+I(1:m,1:n,1).*0.11;%将原图转换为灰 度图 subplot(2,2,1);image(I);colormap(gray); %分割2*2个窗口。取第一个窗 口,显示灰度图 title(原始图);%命名为“原始图” Noise=wgn(m,n,25);%产生25dBm的高斯白噪声 New = Noise + I;%将高斯白噪声与原始信号叠加 subplot(2,2,2);image(New);%在第二个窗口中显示加了噪声的图像 title(噪声图)%命名为“噪声图” g=fft2(New); % 傅立叶变换 g=fftshift(g); % 转换数据矩阵 M,N=size(g); %获取矩阵大小 nn=2; % 定义二阶巴特沃斯(Butterworth)低通滤波器 d0=20; %截止频率为20 m=fix(M/2); n=fix(N/2);%圆整函数 for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); h=1/(1+0.414*(d/d0)(2*nn); % 计算低通滤波器传递函数 result(i,j)=h*g(i,j);%传递函数与信号傅立叶变换函数相乘 end end result=ifftshift(result); J2=ifft2(result); %逆傅立叶变换 J3=uint8(real(J2);%将输出图像转换为8位数据存储 subplot(2,2,3);image(J3); %在第三个窗口中显示滤波后的图像 title(截止频率20 ) ;%命名为“截止频率20” nn=2; % 定义二阶巴特沃斯(Butterworth)低通滤波器 d0=100; %截止频率为100 m=fix(M/2); n=fix(N/2);%圆整函数 for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); h=1/(1+0.414*(d/d0)(2*nn); % 计算低通滤波器传递函数 result(i,j)=h*g(i,j); %传递函数与信号傅立叶变换函数相乘 end end result=ifftshift(result); J2=ifft2(result);%二维逆傅立叶变换 J3=uint8(real(J2); %转换为8位存储的图像 subplot(2,2,4);image(J3); %在第四个窗口中显示绿波后的图像 title(截止频率100 )%命名为“截止频率100” end 3.实验结果与分析: 空域法图像平滑滤波处理结果如下: 由噪声图与滤波后的图像对比可看出,邻域平均法对抑制噪声有明显的 效果,但随着邻域的加大,就是随着模板的加大,图像的模糊程度也愈 加严重。 频域法图像平滑滤波处理结果如下: 巴特沃斯低通滤波器的去噪效果与所选的截止频率有关,由于一幅图像 的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的 背景区则代表图像信号的低频分量所以,截频设的太低会使图像变得越 模糊,因为图像的许多细节信息也被滤掉了。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号