数字图像处理研究生期末作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2015年在职研究生专业期末考试试题(开卷)

姓名:学号:

一、自己拍摄的图像完成以下作业(用Matlab语言完成)

1、打开一个BMP文件

2、将其局部区域的灰度值进行改变

3、另存为一个新的BMP文件

原图像:

zuoye1=imread('Hist1.bmp');

[m,n]=size(zuoye1);

f=zuoye1(50:200,500:1000);

zuoye2=imadjust(f,[0.5 0.75],[0 1],5);

zuoye=zuoye1;

zuoye(50:200,500:1000)=zuoye2;

imshow(zuoye1);

figure,imshow(zuoye)

新图像:

4、Matlab编程实现图像傅立叶高通、低通滤波,给出算法原理及实验结果。高通滤波:

I= imread('Hist1.bmp');

F=rgb2gray(I);

figure,imshow(I);

title('原图像');

F=fftshift(fft2(I));

[f,h]=size(F);

f0=round(f/2);

h0=round(h/2);

d=10;

p=0.2;q=0.5;

for i=1:f

for j=1:h

distance=sqrt((i- f0)^2+(j- h0)^2);

if distance<=d H=0;

else H=1;

end;

F(i,j)=(p+q*H)*F(i,j);

end;

end;

F=uint8(real(ifft2(ifftshift(F))));

figure(2);

imshow(F);title('高通滤波所得图像');

低通滤波:

I=imread('Hist1.bmp');

F=rgb2gray(I);

figure,imshow(I);

title('原图像');

F=fftshift(fft2(I));

[f,h]=size(F);

f0=round(f/2);

h0=round(h/2);

d=10;

for i=1:f

for j=1:h

distance=sqrt((i- f0)^2+(j- h0)^2);

if distance<=d H=1;

else H=0;

end;

F(i,j)=H*F(i,j);

end;

end;

F=uint8(real(ifft2(ifftshift(F))));

figure(2);

imshow(F);

title('低通滤波所得图像');

5、找一幅曝光不足的灰度或彩色图像,用Matlab按照直方图均衡化的方法进行

处理。

HD=imread('DCL.BMP');

imshow(HD)

title('输入的彩色BMP图像')

imwrite(rgb2gray(HD),'HDTX.bmp');

HD=rgb2gray(HD);

figure,imshow(HD)

title('灰度化后的图像')

[m,n]=size(HD);

GP=zeros(1,256);

for k=0:255

GP(k+1)=length(find(HD==k))/(m*n); end

figure,bar(0:255,GP,'g')

title('原图像直方图')

xlabel('灰度值')

ylabel('出现概率')

S1=zeros(1,256);

for i=1:256

for j=1:i

S1(i)=GP(j)+S1(i);

end

end

S2=round(S1*256);

for i=1:256

GPeq(i)=sum(GP(find(S2==i)));

end

figure,bar(0:255,GPeq,'b')

title('均衡化后的直方图')

xlabel('灰度值')

ylabel('出现概率')

figure,plot(0:255,S2,'r')

legend('灰度变化曲线')

xlabel('原图像灰度级')

ylabel('均衡化后灰度级')

PA=HD;

for i=0:255

PA(find(HD==i))=S2(i+1);

end

figure,imshow(PA)

title('均衡化后图像')

imwrite(PA,'JHCLTX.bmp');

6、用Matlab打开一幅图像,添加椒盐、高斯噪声,然后使用邻域平均法、中值

滤波法进行平滑。

原图像:

添加椒盐噪声:

①邻域平均法处理

I0=imread('Hist2.bmp');

I=rgb2gray(I0);

J=imnoise(I,'salt & pepper',0.02);

figure,imshow(J);

title('添加椒盐噪声后图像');

K1=filter2(fspecial('average',7),J);

K2=filter2(fspecial('average',9),J);

figure,imshow(uint8(K1));

title('邻域平均法处理后图像');

②中值滤波法处理

I0=imread('Hist2.bmp');

I=rgb2gray(I0)

相关文档
最新文档