数字的图像的处理4.docx
《数字的图像的处理4.docx》由会员分享,可在线阅读,更多相关《数字的图像的处理4.docx(40页珍藏版)》请在冰豆网上搜索。
![数字的图像的处理4.docx](https://file1.bdocx.com/fileroot1/2023-1/29/15ab4d79-e594-44b7-b020-f162220da508/15ab4d79-e594-44b7-b020-f162220da5081.gif)
数字的图像的处理4
4‐1图像噪声
实验目的:
掌握图像高斯噪声、瑞利噪声、伽马(爱尔兰)噪声、指数分布噪声、均匀分布噪声、脉冲噪声(椒盐噪声)的实现方法.
实验内容:
使用imnoise2生成高斯噪声、瑞利噪声、伽马(爱尔兰)噪声、指数分布噪声、均匀分布噪声、脉冲噪声(椒盐噪声)噪声,观察样本噪声图像和它们的直方图的区别
%%例4.2各种噪声
clc
clear
r=imnoise2('gaussian',100000,1,0,1);
bins=100;
hist(r,bins)
title('gaussian')
r=imnoise2('uniform',100000,1,0,1);
bins=100;
figure,hist(r,bins)
title('uniform')
r=imnoise2('salt&pepper',1000,1,0.1,0.27);
bins=100;
figure,hist(r,bins)
title('salt&pepper')
r=imnoise2('lognormal',100000,1);
bins=100;
figure,hist(r,bins)
title('lognormal')
r=imnoise2('rayleigh',100000,1,0,1);
bins=100;
figure,hist(r,bins)
title('rayleigh')
r=imnoise2('exponential',100000,1);
bins=100;
figure,hist(r,bins)
title('exponential')
r=imnoise2('erlang',100000,1);
bins=100;
figure,hist(r,bins)
title('erlang')
4‐2噪声参数估计
实验目的:
掌握噪声参数的估计和周期噪声的生成方法。
实验内容:
1.使用imnoise3添加空间正弦噪声,观察不同参数下噪声的区别
2.使用histroi估计不同的噪声类型及噪声参数
%%例4.3imnoise3
clc
clear
C=[064;0128;3232;640;1280;-3232];
[r,R,S]=imnoise3(512,512,C);
imshowMy(S,[])
imfinfoMy(S)
title('[6个]指定冲击的正弦噪声周期频谱[1]')
imshowMy(abs(R),[])
imshowMy(r,[])
imfinfoMy(r)
title('[6个]相应的正弦噪声周期模式[1]')
%S1=fftshift(S);
%imshowMy(S1,[])
%figure,mesh(S)
C1=C/2;
[r,R,S]=imnoise3(512,512,C1);
imshowMy(S,[])
title('[6个]指定冲击的正弦噪声周期频谱[2]')
imshowMy(r,[])
title('[6个]相应的正弦噪声周期模式[2]')
C2=[632;-22];
[r,R,S]=imnoise3(512,512,C2);
imshowMy(S,[])
title('[2个]指定冲击的正弦噪声周期频谱[3]')
imshowMy(r,[])
title('[2个]相应的正弦噪声周期模式[3]')
A=[15];
[r,R,S]=imnoise3(512,512,C2,A);
imshowMy(1-S,[])%有两个不清楚的点,因为其振幅较小
title('[2个][使用非默认的不同振幅]指定冲击的正弦噪声周期频谱[4]')
imshowMy(r,[])
title('[2个][使用非默认的不同振幅]相应的正弦噪声周期模式[4]')
%%imnoise3
clc
clear
C1=[632];
[r,R,S]=imnoise3(512,512,C1);
imshowMy(S,[])
title('[1个]指定冲击的正弦噪声周期频谱[1]')
imshowMy(r,[])
title('[1个]相应的正弦噪声周期模式[1]')
C2=[-22];
[r,R,S]=imnoise3(512,512,C2);
imshowMy(S,[])
title('[1个]指定冲击的正弦噪声周期频谱[2]')
imshowMy(r,[])
title('[1个]相应的正弦噪声周期模式[2]')
C3=[632;-22];
A=[15];
[r,R,S]=imnoise3(512,512,C3,A);
imshowMy(1-S,[])%有两个不清楚的点,因为其振幅较小
title('[2个][使用非默认的不同振幅]指定冲击的正弦噪声周期频谱[1]')
imshowMy(r,[])
title('[2个][使用非默认的不同振幅]相应的正弦噪声周期模式[1]')
C3=[632;-22];
A=[51];
[r,R,S]=imnoise3(512,512,C3,A);
imshowMy(1-S,[])%有两个不清楚的点,因为其振幅较小
title('[2个][使用非默认的不同振幅]指定冲击的正弦噪声周期频谱[2]')
imshowMy(r,[])
title('[2个][使用非默认的不同振幅]相应的正弦噪声周期模式[2]')
%%例4.4估计噪声参数交互式选取区域产生的直方图
clc
clear
f=imread('noisy_image.tif');
imshow(f)
title('原始含噪声图像')
[B,c,r]=roipoly(f);
figure,imshow(B)
[p,npix]=histroi(f,c,r);
figure,bar(p,1)
title('交互式选取区域产生的直方图')
axistight
[v,unv]=statmoments(p,2)%?
?
?
?
X=imnoise2('gaussian',npix,1,unv
(1),sqrt(unv
(2)));
figure,hist(X,130)
title('使用函数[imnoise2]产生的高斯数据的直方图')
%axis([03000140])
axistight
%%掩模的使用方法P114
clc
clear
f=imread('noisy_image.tif');
imshow(f)
[B,c,r]=roipoly(f);
roi=f(B);
size_f=size(f)
class_f=class(f)
size_B=size(B)
class_B=class(B)
size_roi=size(roi)%列向量
4‐3空间滤波
实验目的:
掌握空间滤波方法.
实验内容:
1.使用spfilt实现逆调和滤波器、最大和最小滤波器,观察不同滤波器滤波效果的区别
2.使用adpmedian实现自适应中值滤波
实验步骤:
%%例4.5spfilt空间噪声滤波器
clc
clear
f=imread('lena.jpg');
imshowMy(f)
title('原始图像')
[M,N]=size(f);
R=imnoise2('salt&pepper',M,N,0.1,0);
c=find(R==0);
gp=f;
gp(c)=0;
imshowMy(gp)
title('被概率为0.1的胡椒噪声污染的图像')
R=imnoise2('salt&pepper',M,N,0,0.1);
c=find(R==1);
gs=f;
gs(c)=255;
imshowMy(gs)
title('被概率为0.1的盐粒噪声污染的图像')
fp=spfilt(gp,'chmean',3,3,1.5);
imshowMy(fp)
title('用阶为Q=1.5的3*3反调和滤波器对[被概率为0.1的胡椒噪声污染的图像]滤波的结果')
fs=spfilt(gs,'chmean',3,3,-1.5);
imshowMy(fs)
title('用阶为Q=-1.5的3*3反调和滤波器对[被概率为0.1的盐粒噪声污染的图像]滤波的结果')
fpmax=spfilt(gp,'max',3,3);
imshowMy(fpmax)
title('用3*3最大滤波器对[被概率为0.1的胡椒噪声污染的图像]滤波的结果')
fsmin=spfilt(gs,'min',3,3);
imshowMy(fsmin)
title('用3*3最小滤波器对[被概率为0.1的盐粒噪声污染的图像]滤波的结果')
%%例4.6自适应中值滤波adpmedian
clc
clear
f=imread('lena.jpg');
imshowMy(f)
title('原始图像')
g=imnoise(f,'salt&pepper',0.25);%噪声点有黑有白
imshowMy(g)
title('被概率为0.25椒盐噪声污染的图像')
f1=medfilt2(g,[77],'symmetric');
imshowMy(f1)
title('用7*7中值滤波器对[被概率为0.25椒盐噪声污染的图像]滤波的结果')
f2=adpmedian(g,7);
imshowMy(f2)
title('用Smax=7的自适应中值滤波器对[被概率为0.25椒盐噪声污染的图像]滤波的结果')
实验总结:
通过对第四章前三节的学习,我了解到了图像退化/复原处理的模型,在退化过程中被建模为一个退化函数和一个加性噪声项,并且退化函数和加性噪声的信息越多,所复原出来的图像就越接近原图。
然后是用imnoise和自定义的imnoise2、imnoise3对图像添加噪声并绘制他们的直方图,最后使用空间噪声滤波等来进行图像的复原,明白了怎么对含有椒盐和盐白点的图像进行处理,收获颇多。