图像处理课程设计 报告.docx
《图像处理课程设计 报告.docx》由会员分享,可在线阅读,更多相关《图像处理课程设计 报告.docx(14页珍藏版)》请在冰豆网上搜索。
图像处理课程设计报告
《数字图像处理》课程设计
1、课程设计目的
1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2、课程设计要求
1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
尤其是对编程软件的使用有基本的认识。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
5.2实施要求
1、理解各种图像处理方法确切意义。
2、独立进行方案的制定,系统结构设计要合理。
3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。
如果使用matlab来进行开发,要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。
4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。
用图像平均的方法消除噪声编程:
J=imread('.jpg');
I=rgb2gray(J);
[m,n]=size(I);
II1=zeros(m,n);
fori=1:
16
II(:
:
i)=imnoise(I,'gaussian',0,0.01);
II1=II1+double(II(:
:
i));
ifor(or(i==1,i==4),or(i==8,i==16));
figure;
imshow(uint8(II1/i));
end
end
迭加零均值高斯随机噪声图像
4幅同类图像加平均
8幅同类图像加平均
16幅同类图像加平均
用平滑滤波方法消除噪声编程:
I=imread('.jpg');
I=rgb2gray(I);
J=imnoise(I,'gaussian',0,0.02);
subplot(231),imshow(I);title('原图像');
subplot(232),imshow(J);title('添加高斯噪声图像');
k1=filter2(fspecial('average',3),J);
k2=filter2(fspecial('average',5),J);
k3=filter2(fspecial('average',7),J);
k4=filter2(fspecial('average',9),J);
subplot(233),imshow(uint8(k1));title('3*3模板平滑滤波');
subplot(234),imshow(uint8(k2));title('5*5模板平滑滤波');
subplot(235),imshow(uint8(k3));title('7*7模板平滑滤波');
subplot(236),imshow(uint8(k4));title('9*9模板平滑滤波');
用中值滤波方法消除噪声编程:
I=imread('.jpg');
I=rgb2gray(I);
J=imnoise(I,'gaussian',0,0.01);
subplot(231),imshow(I);title('原图像');
subplot(232),imshow(J);title('添加高斯白噪声图像');
k1=medfilt2(J);
k2=medfilt2(J,[55]);
k3=medfilt2(J,[77]);
k4=medfilt2(J,[99]);
subplot(233),imshow(k1);title('3×3模板中值滤波')
subplot(234),imshow(k2);title('5×5模板中值滤波')
subplot(235),imshow(k3);title('7×7模板中值滤波')
subplot(236),imshow(k4);title('9×9模板中值滤波')
用理想低通滤波方法消除噪声编程:
I=imread('.jpg');
J=rgb2gray(I);
J=imnoise(J,'gaussian',0,0.02);
subplot(331);imshow(J);
J=double(J);
f=fft2(J);
g=fftshift(f);
subplot(332);imshow(log(abs(g)),[]),color(jet(64));
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=5;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(333);
imshow(g);
I=imread('.jpg');
J=rgb2gray(I);
J=imnoise(J,'gaussian',0,0.02);
subplot(331);imshow(J);
J=double(J);
f=fft2(J);
g=fftshift(f);
subplot(332);imshow(log(abs(g)),[]),color(jet(64));
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=15;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(334);
imshow(g);
I=imread('.jpg');
J=rgb2gray(I);
J=imnoise(J,'gaussian',0,0.02);
subplot(331);imshow(J);
J=double(J);
f=fft2(J);
g=fftshift(f);
subplot(332);imshow(log(abs(g)),[]),color(jet(64));
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=45;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(335);
imshow(g);
I=imread('.jpg');
J=rgb2gray(I);
J=imnoise(J,'gaussian',0,0.02);
subplot(331);imshow(J);
J=double(J);
f=fft2(J);
g=fftshift(f);
subplot(332);imshow(log(abs(g)),[]),color(jet(64));
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=65;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(336);
imshow(g);
用巴特沃斯低通滤波方法消除噪声
I=imread('.jpg');
I=rgb2gray(I);
J=imnoise(I,'gaussian',0,0.04);
subplot(121);imshow(J);
title('高斯白噪声图像');
J=double(J);
f=fft2(J);
g=fftshift(f);
[M,N]=size(f);
n=3;
d0=20;
n1=floor(M/2);
n2=floor(N/2);
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
h=1/(1+(d/d0)^(2*n));
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(122);
imshow(g);
title('巴特沃斯低通滤波');
峰值信噪比PSNR程序:
functionresult=psnr(in1,in2)
in1=imread('a.jpg');%a为原图像%
in2=imread('b.jpg');%b为调制之后的图像%
z=mse(in1,in2);
result=10*log10(255.^2/z);
functionz=mse(x,y)
x=double(x);
y=double(y);
[m,n]=size(x);
z=0;
fori=1:
m
forj=1:
n
z=z+(x(i,j)-y(i,j)).^2;
end
end
z=z/(m*n);
方法一图像平均的方法处理得到信噪比分别如下:
ans=
7.1689
ans=
7.2601
ans=
7.2789
ans=
7.2876
方法二平滑滤波方法处理得到信噪比分别如下:
ans=
6.0426
ans=
6.0713
ans=
6.0955
ans=
6.1052
方法三中值滤波方法处理得到信噪比分别如下:
ans=
7.1708
ans=
7.2487
ans=
7.2830
ans=
7.3065
ans=
7.3290
方法四理想低通滤波方法处理得到的信噪比:
ans=
5.9024
ans=
6.3146
ans=
6.1266
ans=
6.0586
ans=
6.0479
方法五巴特沃斯低通滤波方法处理得到的信噪比:
ans=
5.9042
ans=
6.2459