图像平滑处理的空域算法和频域分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
平滑技术主要用于平滑图像中的噪声。平滑噪声在空间域中进行,其基本方法是求像
素灰度的平均值或中值。为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在
频域中运用低通滤波技术。
(1)空域法
在空域中对图像进行平滑处理主要是邻域平均法。这种方法的基本思想是用几个像素
灰度的平均值来代替每个像素的灰度。假定有一幅 N*N 个像素的图像 f(x,y),平滑处理后
fft2()对图像进行傅立 叶变换
巴特沃斯低通滤波器传递函数与图 像傅立叶变换相乘
ifft2()函数进行逆傅立叶 变换
image()函数显示图像
4 源程序代码
(1)邻域平均法源程序 clear; clc; close all;
图 2 低通滤波法模型图
I=imread('tu.jpg'); %读取图像 f=rgb2gray(I);%转化成灰度图
快的衰减率,所以,经指数低通滤波器处理的图像比布特沃斯低通滤波器处理的图像稍模
糊一些。
3 建立模型描述
图像平滑处理用到两种方法,其中空域法使用邻域平均法处理,其流程图如图 1 所示
3
武汉理工大学《能力拓展训练》报告书
Imread() 函 数 读 取 图像
rgb2gray()函数将原图转 换为灰度图
得到一幅图像 g(x,y)。g(x,y)由下式决定
f (m, n)
g (x, y) (m,n)S
M
式中,x,y=0,1,2,…,N-1;S 是(x,y)点邻域中点的坐标的集合,但其中不包括(x,y)点;M 是
集合内坐标点的总数。上式说明,平滑化的图像 g(x,y)中每个像素的灰度值均由包含在(x,y) 的预定邻域中的 f(x,y)的几个像素的灰度值的平均值来决定。
5
武汉理工大学《能力拓展训练》报告书
subplot(2,3,1);% 分割 2*3 个窗口。取第一个窗口,下面在第一个窗口处显示图像 imshow (f);%显示灰度图 colormap(gray); title('原始图')%给显示的图像命名为“原始图” J=imnoise(f,'gaussian',0,0.09);%给原始图加入参数为 0.09 的高斯白噪声
imnoise() 函 数 为 原 图 加 高斯白噪声
double()将加了噪声的图 转换为双精度型
创 建 3*3 模 板
用模板对噪 声图邻域平 均
Image() 显 示 处理后的图 像
创 建 5*5 模 板
用模板对噪 声图邻域平 均
Image() 显 示 处理后的图 像
创 建 7*7 模 板
用模板对噪 声图邻域平 均
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 位数据存储
平滑的过度带,通常把 H(u,v)下降到某一值的那一点定为截止频率 D0 。一般情况下常常
采用下降到 H(u,v)最大值的 1 2 那一点为截止频率点,该点也常称为半功率点,这样上
式可修改成
D(u,v)2n
H (u, v) 1 1 2 1
D0
c.指数低通滤波器
在图像处理中常用的另一种平滑滤波器是指数低通滤波器,由于指数低通滤波器有更
根据噪声和信号的关系可以将其分为两种形式: (1)加性噪声。有的噪声与图像信号 g(x,y)无关,在这种情况下,含噪图像 f(x,y)可 表示为
f(x,y)=g(x,y)+n(x,y) (2)乘性噪声。有的噪声与图像信号有关。这又可以分为两种情况:一种是某像素 处的噪声只与该像素的图像信号有关,另一种是某像点处的噪声与该像点及其邻域的图像 信号有关,如果噪声与信号成正比,则含噪图像 f(x,y)可表示为
Noise=wgn(m,n,25);%产生 25dBm 的高斯白噪声 New = Noise + I;%将高斯白噪声与原始信号叠加
subplot(2,3,2);image(New);%在第二个窗口中显示加了噪声的图像 title('噪声图')%命名为“噪声图”
7
武汉理工大学《能力拓展训练》报告书
g=fft2(New);
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 模板” (2)低通滤波法源程序 clear; clc; close all;
其中 F(u,v)是含有噪声的图像的傅立叶变换,G(u,v)是平滑处理后的图像的傅立叶变换, H(u,v)是传递函数。选择传递函数 H(u,v),利用 H(u,v)使 F(u,v)的高频分量得到衰减,得到 G(u,v)后再经傅立叶反变换后就可以得到所希望的平滑图像 g(x,y)了。根据前面的分析,显 然 H(u,v)应该具有低通滤波特性,所以这种方法叫低通滤波法平滑化处理。
(2)频域法 低通滤波法是一种频域处理方法。在分析图像信号的频率特性时,一幅图像的边缘、
跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低
频分量。用滤波的方法滤除其高频部分就能去掉噪声,使图像得到平滑。
由卷积定理可知
G(u, v) H (u, v) F (u, v)
现,但是却不能用电子元器件实现。
b.布特沃斯(Butterworth)低通滤波器
一个 n 阶布特沃斯低通滤波器的传递函数由下式表示
2n
D(u,v)
H (u, v) 1 1
D0
式中,D 0 为截止频率。布特沃斯低通滤波器又称最大平坦低通滤波器。它与理想低通滤波
器不同,它的通带与阻带之间没有明显的不连续性。也就是说,在通带和阻带之间有一个
5 调试过程及结论
在 MatLab 中输入邻域平均法程序代码后运行程序,得到输出结果如图 3 所示:
图 3 邻域平均法输出图像 由噪声图与滤波后的图像对比可看出,邻域平均法对抑制噪声有明显的效果,但随着 邻域的加大,就是随着模板的加大,图像的模糊程度也愈加严重。 在 MatLab 中输入低通滤波法程序代码后运行程序,得到输出结果如图 4 所示:
Image() 显 示 处理后的图 像
图 1 邻域平均法模型图 频域法用二阶布特沃斯低通滤波器对图像滤除噪声,其程序流程图如图 2 所示:
imread() 函 数 读 取图像
Size()函数获取图 像矩阵大小
4
武汉理工大学《能力拓展训练》报告书
将原图转换为灰度图
wgn()函数产生高斯白噪声并加 入原来图像中
% 傅立叶变换
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);
f(x,y)=g(x,y)+n(x,y)g(x,y) 另外,还可以根据噪声服从的分布对其进行分类,这时可以分为高斯噪声、泊松噪声 和颗粒噪声等。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀 分布的,则称它为高斯白噪声,一般为加性噪声。
1
武汉理工大学《能力拓展训练》报告书
2.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
8
武汉理工大学《能力拓展训练》报告书
end result=ifftshift(result); J2=ifft2(result);%二维逆傅立叶变换 J3=uint8(real(J2)); %转换为 8 位存储的图像 subplot(2,3,4);image(J3); %在第四个窗口中显示绿波后的图像 title('截止频率 100 ')%命名为“截止频率 100”
这次能力强化训练是《图像平滑处理的空预算法和频域分析》,需要有一定的对数字 图像处理方面的知识,由于没有学习过《数字图像处理》这门课,已开始题目布置下来时 感到无从下手,查阅了大量资料,对图像平滑处理有了一定的了解,对于 MatLab 刚开始接 触,许多语法、函数都不会使用,于是和同学互相讨论,通过参考大量资源,站在巨人的 肩膀上稍加整合创新,最终得出了自己的程序,程序调试运行后,发现最开始根本无法显 示图像,检查原因,原来是对 MatLab 的符号规则不清楚,MatLab 中的标点符号必须是在 英文状态下输入,这在编写程序时必须小心!修改后得到了正确的显示,但是图像效果对 比不明显,通过不断摸索试探,使用不同的图像显示函数,得到了对比鲜明的图像,对分 析不同方法的优缺点提供了很大方便。
9
武汉理工大学《能力拓展训练》报告书
图 4 低通滤波法输出图像 巴特沃斯低通滤波器的去噪效果与所选的截止频率有关,由于一幅图像的边缘、跳跃 部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低频分 量所以,截频设的太低会使图像变得越模糊,因为图像的许多细节信息也被滤掉了。
6 心得体会
武汉理工大学《能力拓展训练》报告书
图像平滑处理的空域算法和 频域分析
1 技术要求
对已知图像添加高斯白噪声,并分别用低通滤波器(频域法)和邻域平均法(空域法)对 图像进行平滑处理(去噪处理),并分析比较两种方法处理的效果。
2 基本原理
2.1 图像噪声
噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。实 际获得的图像一般都因受到某种干扰而含有噪声。引起噪声的原因有敏感元器件的内部噪 声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声产生的原因决定了 噪声的分布特性及它和图像信号的关系。
I=imread('tu.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,3,1);image(I);colormap(gray); %分割 2*3 个窗口。取第一个窗口,显示灰度图 title('原始图')%命名为“原始图”
subplot(2,3,2);% 分割 2*3 个窗口。取第二个窗口,如果下面有绘图 语句,就表示要
%在第二个窗口中绘图 imshow(J);%显示加了高斯白噪声的图像 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 模板”
subplot(2,3,3);image(J3); %在第三个窗口中显示滤波后的图像
title('截止频率 20 ') %命名为“截止频率 20”
nn=2;
% 定义二阶巴特沃斯(Butterworth)低通滤波器
d0=100;
%截止频率为 100
m=fix(M/2); n=fix(N/2);圆整函数
常用的低通滤波器有如下几种:
a.理想低通滤波器
一个理想的二维低通滤波器有一个参数 D0。它是一个规定的非负的量,叫做理想低 通滤波器的截止频率。所谓理想低通滤波器是指以截频 D0 为半径的圆内的所有频率都能
无损地通过,而在截频之外的频率分量完全被衰减。理想低通滤波器可以用计算机模拟实
2Hale Waihona Puke Baidu
武汉理工大学《能力拓展训练》报告书
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
6
武汉理工大学《能力拓展训练》报告书
subplot(2,3,4);image(G);%在第四个窗口中显示图像 title('5*5 模板')% 命名为“5*5 模板”