《数字图像处理》第3章作业

  • 格式:doc
  • 大小:382.50 KB
  • 文档页数:6

第 1 页 共 1 页 图像处理及应用 第三章作业

3.5 答:直方图均衡化是重映射直方图,来获得均匀的直方图,它的目的是为了

加强像素的强度,而当一幅图像的直方图为平坦直方图时,直方图均衡法不需要

再次分配像素,所以不适合直方图均衡化技术。

3.17 答:(a)计算掩模Rnew = Rold - C1 + C3,Rold 是上一次的计算结果,C1 是移动时第一列之和,C3 是下一列的和,对于3*3 的滤波器C3 需要计算2 次加法(C1已经在之前被计算),所以计算Rnew 共需要计算4 次加法,当到最后一列时,向下移一行,和之前一样的方法,再从右往左计算。对于n*n 的滤波器,C3共需要计算n-1 次,所以Rnew 共要计算n+1 次加法。而按照通常的计算方法,共需要计算n2-1次加法。

(b)(n2-1) / (n+1) = n-1

3.22 答:因为在原图中,竖条的宽度是5 像素,间距是20 像素,所以每25 个

像素的灰度值之和都是相同的,当以25*25 的方形掩模时,计算的值是相等的,

所以垂直竖条被模糊了。而当以23*23 和45*45 的方形掩模时,掩模大小与宽度

并不一致,所以线条之间的分割仍很清楚。

课后编程题

(1)

原图像与图像直方图:

均衡后图像的直方图:

给定的归一化直方图如下:

利用上述的直方图进行直方图规定化处理后得到的图像及其直方图: 第 2 页 共 2 页 MATLAB代码:

r=255;

x=0:r;

y=(-384*x+49152).*(x<=128)+(384*x-49152).*(x>=129);

y=y/sum(y);

figure;plot(y);

G=[];

for i=1:256

G=[G sum(y(1:i))];

end

img=imread('C:\Users\pretty820722\Desktop\fanye.jpg');

img=rgb2gray(img);

[m n]=size(img);

hist=imhist(img);

p=hist/(m*n);

figure(2);subplot(1,2,1);imhist(img);subplot(1,2,2);imshow(img); p1=histeq(img);

figure;subplot(1,2,1);imhist(p1);subplot(1,2,2);imshow(p1);

s=[];

for i=1:256

s=[s sum(p(1:i))];

end

for i=1:256

tmp{i}=G-s(i);

tmp{i}=abs(tmp{i});

[a index(i)]=min(tmp{i});

end

imgn=zeros(m,n);

for i=1:m

for j=1:n

imgn(i,j)=index(img(i,j)+1)-1;

end

end 第 3 页 共 3 页 imgn=zeros(m,n);

for i=1:m

for j=1:n

imgn(i,j)=index(img(i,j)+1)-1;

end

end

imgn=uint8(imgn);

figure;subplot(1,2,1);imshow(imgn);

subplot(1,2,2);imhist(imgn)

(2)

答:原图片:

添加高斯噪声:

添加椒盐噪声:

第 4 页 共 4 页 高斯噪声后均值滤波:

峰值信噪比29.0944

椒盐噪声后均值滤波:

峰值信噪比28.4786

高斯噪声后中值滤波:

峰值信噪比为27.8801

椒盐噪声后中值滤波:

峰值信噪比36.4218

程序代码:

f=imread('C:\Users\pretty820722\Desktop\fanye.jpg');

figure,imshow(f)

g1=imnoise(f,'gaussian',0,0.01);

figure,imshow(g1)

g2=imnoise(f,'salt & pepper',0.05);

figure,imshow(g2)

w=fspecial('average',[3 3]); 第 5 页 共 5 页 g11=imfilter(g1,w);

g21=imfilter(g2,w);

figure,imshow(g11)

figure,imshow(g21)

g12=medfilt2(g1,[3 3]);

g22=medfilt2(g2,[3 3]);

figure,imshow(g12)

figure,imshow(g22)

f=double(f);

g11=double(g11);

g21=double(g21);

g12=double(g12);

g22=double(g22);

[p,q]=size(f);

mse1=0;

for i=1:p

for j=1:q

a=(f(i,j)-g11(i,j))^2;

mse1=mse1+a;

end

end

mse1=mse1/(256*256);

psnr1=10*log10((255*255)/mse1)

mse2=0;

for i=1:p

for j=1:q

a=(f(i,j)-g12(i,j))^2;

mse2=mse2+a;

end

end

mse2=mse2/(256*256);

psnr2=10*log10((255*255)/mse2)

mse3=0;

for i=1:p

for j=1:q

a=(f(i,j)-g21(i,j))^2;

mse3=mse3+a;

end

end

mse3=mse3/(256*256);

psnr3=10*log10((255*255)/mse3)

mse4=0;

for i=1:p

for j=1:q 第 6 页 共 6 页 a=(f(i,j)-g22(i,j))^2;

mse4=mse4+a;

end

end

mse4=mse4/(256*256);

psnr4=10*log10((255*255)/mse4)

for i=1:p

for j=1:q

a=(f(i,j)-g22(i,j))^2;

mse4=mse4+a;

end

end

mse4=mse4/(256*256);

psnr4=10*log10((255*255)/mse4)