《数字图像处理》第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)