采用imnoise函数对图像添加不同分布、不同强度的随机噪声,比较

2019-04-22 13:19

数字图像处理实验报告

一、 实验要求

采用imnoise函数对图像添加不同分布、不同强度的随机噪声,比较通过空域平滑、中值滤波处理前后图像的频谱。

二、 实验代码

clc clear warning off

I=imread('pout.tif');

if isrgb(I)%判断是否为彩色图像

I=rgb2gray(I);%彩色图像转黑白,若原图像为黑白的,则不要这一步 end %加噪声

I3=imnoise(I,'salt & pepper',0.03); I12=imnoise(I,'gaussian'); I21=imnoise(I,'speckle'); %原图像求频谱

A=fft2(I); %傅里叶变换 A=fftshift(A); %使图像对称

I1=log(1+abs(A)); %图像幅度谱,加log便于显示 I2=real(120*I1./abs(I1)); %椒盐频谱

C=fft2(I3); %傅里叶变换

I4=log(1+abs(C)); %图像幅度谱,加log便于显示 C=fftshift(C); %使图像对称 I5=real(120*I4./abs(I4)); %椒盐中值 n=3; a=ones(n,n); p=size(I3); x1=double(I3);x2=x1; for i=1:p(1)-n+1 for j=1:p(2)-n+1

c=x1(i:i+(n-1),j:j+(n-1)); e=c(1,:); for u=2:n

e=[e,c(u,:)]; end

mm=median(e);

x2(i+(n-1)/2,j+(n-1)/2)=mm;

end end

I9=uint8(x2); %椒盐中值频谱

B=fft2(I9); %傅里叶变换 B=fftshift(B); %使图像对称

I10=log(1+abs(B)); %图像幅度谱,加log便于显示 I11=real(120*I10./abs(I10)); %空域平滑 [m,n]=size(I3); I6=I3; for i=2:m-1 for j=2:n-1

I6(i,j)=(1/4)*(double(I3(i,j-1))+double(I3(i,j+1))+double(I3(i-1,j))+double(I3(i+1,j))); end end

%椒盐空域平滑频谱

D=fft2(I6); %傅里叶变换 D=fftshift(D); %使图像对称

I7=log(1+abs(D)); %图像幅度谱,加log便于显示 I8=real(120*I7./abs(I7)); %高斯频谱

E=fft2(I12); %傅里叶变换

I13=log(1+abs(E)); %图像幅度谱,加log便于显示 E=fftshift(E); %使图像对称 I14=real(120*I13./abs(I13)); %高斯中值 n=3; a=ones(n,n); p=size(I12); x1=double(I3);x2=x1; for i=1:p(1)-n+1 for j=1:p(2)-n+1

c=x1(i:i+(n-1),j:j+(n-1)); e=c(1,:); for u=2:n

e=[e,c(u,:)]; end

mm=median(e);

x2(i+(n-1)/2,j+(n-1)/2)=mm; end end

I18=uint8(x2); %高斯中值频谱

F=fft2(I18); %傅里叶变换 F=fftshift(F); %使图像对称

I19=log(1+abs(F)); %图像幅度谱,加log便于显示 I20=real(120*I19./abs(I19)); %高斯空域平滑 [m,n]=size(I12); I15=I12; for i=2:m-1 for j=2:n-1

I15(i,j)=(1/4)*(double(I12(i,j-1))+double(I12(i,j+1))+double(I12(i-1,j))+double(I12(i+1,j))); end end

%高斯空域平滑频谱

D=fft2(I15); %傅里叶变换 D=fftshift(D); %使图像对称

I16=log(1+abs(D)); %图像幅度谱,加log便于显示 I17=real(120*I16./abs(I16)); %乘性频谱

G=fft2(I21); %傅里叶变换

I22=log(1+abs(G)); %图像幅度谱,加log便于显示 G=fftshift(G); %使图像对称 I23=real(120*I22./abs(I22)); %乘性中值 n=3; a=ones(n,n); p=size(I21); x1=double(I21);x2=x1; for i=1:p(1)-n+1 for j=1:p(2)-n+1

c=x1(i:i+(n-1),j:j+(n-1)); e=c(1,:); for u=2:n

e=[e,c(u,:)]; end

mm=median(e);

x2(i+(n-1)/2,j+(n-1)/2)=mm; end end

I27=uint8(x2); %乘性中值频谱

H=fft2(I27); %傅里叶变换 H=fftshift(H); %使图像对称

I28=log(1+abs(H)); %图像幅度谱,加log便于显示

I29=real(120*I28./abs(I28)); %乘性空域平滑 [m,n]=size(I21); I24=I21; for i=2:m-1 for j=2:n-1

I24(i,j)=(1/4)*(double(I21(i,j-1))+double(I21(i,j+1))+double(I21(i-1,j))+double(I21(i+1,j))); end end

%乘性空域平滑频谱

Q=fft2(I24); %傅里叶变换 Q=fftshift(Q); %使图像对称

I25=log(1+abs(Q)); %图像幅度谱,加log便于显示 I26=real(120*I25./abs(I25)); figure;

subplot(1,3,1);imshow(I);title('原始图');

subplot(1,3,2);imshow(I1,[]);title('原始图幅度谱'); subplot(1,3,3);imshow(I2,[]);title('原始图相位谱'); figure;

subplot(3,3,1);imshow(I3);title('加椒盐噪声后图'); subplot(3,3,2);imshow(I4,[]);title('加椒盐噪后幅度谱图'); subplot(3,3,3);imshow(I5,[]);title('加椒盐噪后相位谱图'); subplot(3,3,7);imshow(I9);title('中值滤波椒盐噪后图(3x3)'); subplot(3,3,8);imshow(I10,[]);title('中值滤波椒盐噪后幅度谱图像'); subplot(3,3,9);imshow(I11,[]);title('中值滤波椒盐噪后相位谱'); subplot(3,3,4);imshow(uint8(I6));title('空域平滑滤波椒盐噪后图'); subplot(3,3,5);imshow(I7,[]);title('空域平滑滤波椒盐噪后幅度谱图像'); subplot(3,3,6);imshow(I8,[]);title('空域平滑滤波椒盐噪后相位谱图像'); figure;

subplot(3,3,1);imshow(I12);title('加高斯噪声后图');

subplot(3,3,2);imshow(I13,[]);title('加高斯噪声后幅度谱图'); subplot(3,3,3);imshow(I14,[]);title('加高斯噪声后相位谱图'); subplot(3,3,7);imshow(I18);title('中值滤波高斯噪声后图(3x3)'); subplot(3,3,8);imshow(I19,[]);title('中值滤波高斯噪声后幅度谱图像'); subplot(3,3,9);imshow(I20,[]);title('中值滤波高斯噪声后相位谱'); subplot(3,3,4);imshow(uint8(I15));title('空域平滑滤波高斯噪声后图'); subplot(3,3,5);imshow(I16,[]);title('空域平滑滤波高斯噪声后幅度谱图像'); subplot(3,3,6);imshow(I17,[]);title('空域平滑滤波高斯噪声后相位谱图像'); figure;

subplot(3,3,1);imshow(I21);title('加乘性噪声后图');

subplot(3,3,2);imshow(I22,[]);title('加乘性噪声后幅度谱图'); subplot(3,3,3);imshow(I23,[]);title('加乘性噪声后相位谱图'); subplot(3,3,7);imshow(I27);title('中值滤波乘性噪声后图(3x3)');

subplot(3,3,8);imshow(I28,[]);title('中值滤波乘性噪声后幅度谱图像'); subplot(3,3,9);imshow(I29,[]);title('中值滤波乘性噪声后相位谱'); subplot(3,3,4);imshow(uint8(I24));title('空域平滑滤波乘性噪声后图'); subplot(3,3,5);imshow(I25,[]);title('空域平滑滤波乘性噪声后幅度谱图像'); subplot(3,3,6);imshow(I26,[]);title('空域平滑滤波乘性噪声后相位谱图像');

三、 实验结果截图并做分析

实验步骤:

1、审题完毕,采用imnoise函数对图像添加不同分布、不同强度的随机噪声,比较通过空域平滑、中值滤波处理前后图像的频谱。

2、上次试验先了解一下fft2的含义,了解它是fft2函数,用于计算二维快速傅立叶变换,在其之后加上fftshift也是起到很好的作用;此次实验再是imnoise函数,含义是采用函数imnoise来使用噪声污染一幅图像,对图像进行椒盐噪声、高斯噪声和乘性噪声处理;

3、按照题目要求编写程序代码,对加噪声的图像进行噪声处理,并进行绘制图像,即幅度谱和频谱;

4、找一张图片,我是用的是Matlab中自带的图片“pout.tif”进行实验操作的,然后对图像按照题目要求进行变换,并求出相应的结果;

5、运行所编写的程序代码,并分析绘制的图像是否正确; 实验分析:


采用imnoise函数对图像添加不同分布、不同强度的随机噪声,比较.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初中数学教学素材巧用特殊值法解题新人教版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: