数字图像处理(六)图像降噪处理

数字图像处理(六)图像降噪处理
1.1噪声分类
噪声是图像⼲扰的重要原因。⼀幅图像在实际应⽤中可能存在各种各样的噪声,这些噪声可能在传输中产⽣,也可能在量化等处理中产⽣。根据噪声和信号的关系可将其分为三种形式:(f(x,y)表⽰给定原始图像,g(x,y)表⽰图像信号,n(x,y)表⽰噪声。)
1)加性噪声,此类噪声与输⼊图像信号⽆关,含噪图像可表⽰为f(x,y)=g(x,y)+ n(x,y),信道噪声及光导摄像管的摄像机扫描图像时产⽣的噪声就属这类噪声。
2)乘性噪声,此类噪声 与图像信号有关,含噪图像可表⽰为f(x,y)=g(x,y)+ n(x,y)g(x,y),飞点扫描器扛描图像时的噪声,电视图像中的相⼲噪声,胶⽚中的颗粒噪声就属于此类噪声。
3)量化噪声,此类噪声 与输⼊图像信号⽆关,是量化过程存在量化误差,再反映到接收端⽽产⽣。
1.2椒盐噪声
椒盐噪声是由图像传感器,传输信道,解码处理等产⽣的⿊⽩相间的亮暗点噪声。椒盐噪声往往由图像切割⼸|起。去除脉冲⼲扰及椒盐噪声最常⽤的算法是中值滤波
路⾯图像属于结构光图像,使⽤区域分割技术中的阈值分割法消除⽩噪声及部分椒盐噪声,⽽不能使⽤中值滤波对⽩噪声及椒盐噪声进⾏滤波,因为滤波模板在图像中漫游时会改变光条中像素的真实灰度分布,给随后的重⼼法细化过程带来负⾯影响。
⼤量的实验研究发现,由摄像机拍摄得到的图像受离散的脉冲、椒盐噪声和零均值的⾼斯噪声的影响较严重。噪声给图像处理带来很多困难,对图像分割、特征提取、图像识别等具有直接影响。因此,实时采集的图像需进⾏滤波处理。消除图像中的噪声成份叫做图像的平滑化或滤波操作。
噪声是指两种噪声,⼀ 种是盐噪声( salt noise ) ,另⼀种是胡椒噪声( pepper noise )。盐=⽩⾊,椒=⿊⾊。前者是⾼灰度噪声,后者属于低灰度噪声。椒盐噪声同时出现,呈现在图像上就是⿊⽩杂点。
噪声类型是 ‘salt & pepper’ ⼀定注意空格的位置 这⾥⽐较严格。当噪声类型是’salt & pepper’的时候,第三个参数的意思是噪声密度,⽐如0.1,那么总像素个数的10%为⿊⽩点,当然是⿊点还是⽩点都是随机的。
I=imread('下载.jpg');
G=rgb2gray(I);
J = imnoise(G,'salt & pepper',0.05);
J1= imnoise(G,'salt & pepper',0.05);
J2= imnoise(G,'salt & pepper',0.05);
[M,N]=size(J);
for i=1:M
for j=1:N
if(J1(i,j)==255)
椒盐噪声J1(i,j)=0;
else
J1(i,j)=J1(i,j);
end
end
end
for i=1:M
for j=1:N
if(J2(i,j)==0)
J2(i,j)=255;
else
J2(i,j)=J2(i,j);
end
end
end
A= meshgrid(1:3, 1:3);
A1= meshgrid(1:5, 1:5);
A2= meshgrid(1:8, 1:8);
figure(1)
subplot(221);imshow(G);title('原始灰度图像'); subplot(222);imshow(J);title('添加椒盐噪声图像'); subplot(223);imshow(J1);title('添加胡椒噪声图像'); subplot(224);imshow(J2);title('添加盐噪声图像');
t=imread('下载.jpg');
subplot(1,4,1),imshow(t),title('原图');
t1=imnoise(t,'salt & pepper',0.1);
subplot(1,4,2),imshow(t1),title('加⼊噪声密度:0.1的椒盐噪声'); t2=imnoise(t,'salt & pepper',0.2);
subplot(1,4,3),imshow(t2),title('加⼊噪声密度:0.2的椒盐噪声'); t3=imnoise(t,'salt & pepper',0.3);
subplot(1,4,4),imshow(t3),title('加⼊噪声密度:0.3的椒盐噪声');
3.图像降噪处理⽅法
3.1中值滤波
中值滤波法是⼀种⾮线性平滑技术,它将每⼀像素点的灰度值设置为该点某邻域窗⼝内的所有像素点灰度值的中值。原理是把数字图像或数字序列中⼀点的值⽤该点的⼀个邻域中各点值的中值代替,让周围的像素值接近的真实值,从⽽消除孤⽴的噪声点。⽅法是⽤某种结构的⼆维滑动模板,将板内像素按照像素值的⼤⼩进⾏排序,⽣成单调上升(或下降)的为⼆维数据序列。但在条纹中⼼分析⽅法中作⽤不⼤。实现⽅法
(1)通过从图像中的某个采样窗⼝取出奇数个数据进⾏排序;
(2)⽤排序后的中值取代要处理的数据即可。
实际应⽤
中值滤波法对消除椒盐噪声⾮常有效,在光学测量条纹图象的相位分析处理⽅法中有特殊作⽤,但在条纹中⼼分析⽅法中作⽤不⼤。中值滤波在图像处理中,常⽤于保护边缘信息,是经典的平滑噪声的⽅法。
中值滤波器将受⼲扰的像素值替换为模板区域的中值,同时它可以保护图像尖锐的边缘,且⽐相同尺⼨的线性平滑滤波器引起的模糊更少,消除脉冲噪声的效果较好。
I=imread('下载.jpg');
G=rgb2gray(I);
J = imnoise(G,'salt & pepper',0.05);subplot(221),imshow(I);title('原图像');
subplot(222),imshow(J);title('添加椒盐噪声图像');
k1=medfilt2(J);
subplot(223),imshow(k1);title('3*3模板中值滤波');
3.2最⼤值与最⼩值滤波
最⼤值滤波,即以模板内进⾏有序排列后最⼤像素值代替中⼼像素值,可以去除图像中的暗斑,使亮斑增⼤。
最⼩值滤波,即以模板内进⾏有序排列后最⼩像素值代替中⼼像素值,可以去除图像中的亮斑,使暗斑增⼤。
利⽤最⼤值滤波器对胡椒噪声进⾏处理,成功消除了胡椒噪声,但应注意到,它同时也从⿊⾊物体的边缘移⾛了⼀些⿊⾊像素。
利⽤最⼩值滤波器对盐噪声进⾏处理,在这种情况下,最⼩值滤波器⽐最⼤值滤波器效果更好,但它也从亮物体边缘移⾛了⼀些⽩⾊像素,使亮物体变⼩,暗物体变⼤,这是因为围绕着这些物体的⽩点被设置成了暗灰度级。
%%%%%%------------------图像复原之空间滤波---------------------------------
%读⼊图像,并转换为double型
I=imread('下载.jpg');G=rgb2gray(I);
J = imnoise(G,'salt & pepper',0.05);subplot(221),imshow(I);title('原图像');
subplot(222),imshow(J);title('添加椒盐噪声图像');
I_D=im2double(J);
[MM,NN]=size(I_D);
%%%%%----------------------2、顺序统计滤波器-------------------------------
%%======================= 2.2 最⼤值或最⼩值滤波器========================= %最
⼤值滤波适合处理带有“胡椒噪声”的图像
%最⼩值滤波器适合处理带有“盐”噪声的图像
%定义⼦窗⼝的尺⼨
m=3;
n=3;
%确定要扩展的⾏列数
len_m=floor(m/2);
len_n=floor(n/2);
%将原始图像进⾏扩展,这⾥采⽤了镜像扩展,以进⾏图像边缘计算
I_D_pad=padarray(I_D,[len_m,len_n],'symmetric');
%获得扩展后的图像尺⼨
[M,N]=size(I_D_pad);
J_Max=zeros(MM,NN);
%J_Min=zeros(MM,NN);
%逐点计算⼦窗⼝的最⼤/最⼩值
for i=1+len_m:M-len_m
for j=1+len_n:N-len_n
%从扩展图像中取出⼦图像
Block=I_D_pad(i-len_m:i+len_m,j-len_n:j+len_n);
%最⼤值滤波
J_Max(i-len_m,j-len_n)=max(max(Block));
%最⼩值滤波
J_Min(i-len_m,j-len_n)=min(min(Block));
end
end
subplot(223),imshow(J_Max);
title('最⼤值滤波器');
subplot(224),imshow(J_Min);
title('最⼩值滤波器')

本文发布于:2024-09-24 12:23:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/358916.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:噪声   图像   椒盐   处理   滤波   像素
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议