发布时间 : 星期日 文章数字图像处理-图像平滑和锐化变换处理更新完毕开始阅读85e974a8915f804d2b16c1ae
图像平滑和锐化变换处理
一、实验内容和要求
1、 灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。 2、 空域平滑:box、gauss模板卷积。 3、 频域平滑:低通滤波器平滑。 4、空域锐化:锐化模板锐化。 5、频域锐化:高通滤波器锐化。
二、实验软硬件环境
PC机一台、MATLAB软件
三实验编程及调试
1、 灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。 ①灰度拉伸程序如下: I=imread('kids.tif');
J=imadjust(I,[0.2,0.4],[]); subplot(2,2,1),imshow(I); subplot(2,2,2),imshow(J); subplot(2,2,3),imhist(I); subplot(2,2,4),imhist(J);
②直方图均衡程序如下: I=imread('kids.tif'); J=histeq(I); Subplot(2,2,1); Imshow(I);
Title('原图像'); Subplot(2,2,2); Imshow(J);
Title('直方图均衡化后的图像') ; Subplot(2,2,3) ; Imhist(I,64);
Title('原图像直方图') ; Subplot(2,2,4);
Imhist(J,64) ; Title('均衡变换后的直方图') ;
③伽马校正程序如下: A=imread('kids.tif'); x=0:255;
a=80,b=1.8,c=0.009;
B=b.^(c.*(double(A)-a))-1; y=b.^(c.*(x-a))-1;
subplot(3,2,1); imshow(A); subplot(3,2,2); imhist(A); subplot(3,2,3); imshow(B); subplot(3,2,4); imhist(B); subplot(3,2,6); plot(x,y);
④log变换程序如下: Image=imread('kids.tif');
subplot(1,2,1);imshow(Image); Image=log(1+double(Image)); subplot(1,2,2);imshow(Image,[]);
2、 空域平滑:box、gauss模板卷积。 A=imread('onion.png'); B=rgb2gray(A);
figure,subplot(3,2,1);imshow(B); title('原始图象');
H=imnoise(B,'gaussian'); subplot(3,2,2);imshow(H); title('高斯噪声');
Q=imnoise(B,'salt & pepper'); subplot(3,2,3);imshow(Q); title('椒盐噪声');
M=fspecial('average',3*3); E=imfilter(Q,M);
subplot(3,2,4);imshow(E); title('3*3平均模板'); N=fspecial('average',5*5); K=imfilter(Q,N);
subplot(3,2,5);imshow(K); title('5*5平均模板'); Z=fspecial('average',7*7); J=imfilter(Q,Z);
subplot(3,2,6);imshow(J); title('7*7平均模板');
3、 频域平滑:低通滤波器平滑。 频域低通滤波处理噪声的程序如下: [f1,f2]=freqspace(25,'meshgrid');
Hd=zeros(25,25);
d=sqrt(f1.^2+f2.^2)<0.5;%0.5为截止半径大小 Hd(d)=1;
h=fsamp2(Hd);
figure(1),freqz2(h,[64,64]); RGB=imread('onion.png'); I=rgb2gray(RGB);
I1=imnoise(I,'gaussian');
I2=imnoise(I,'salt & pepper',0.02); I3=imnoise(I,'speckle'); J=imfilter(I,h,'replicate'); J1=imfilter(I1,h,'replicate'); J2=imfilter(I2,h,'replicate'); J3=imfilter(I3,h,'replicate');
figure(2),subplot(221),imshow(J); title('原图像滤波后'); subplot(222),imshow(J1); title('高斯污染图像滤波后'); subplot(223),imshow(J2); title('椒盐污染图像污染后'); subplot(224),imshow(J3); title('乘法污染图像滤波后');
4、 空域锐化:锐化模板锐化。 I=imread('onion.png'); A=RGB2gray(I); figure,subplot(2,3,1); imshow(A); title('原图');
hs=fspecial('sobel'); S=imfilter(A,hs); hp=fspecial('prewitt'); P=imfilter(A,hs);
A=double(A);%双精度型
H=[0,1,0;1,-4,1;0,1,0];%拉普拉斯算子 J=conv2(A,H,'same'); K=A-J;
subplot(2,3,2),imshow(K); title('拉普拉斯锐化图像'); B=edge(A,'roberts',0.1); subplot(2,3,3),imshow(B); title('罗伯特锐化图像'); subplot(2,3,4),imshow(S); title('sobel算子锐化图像');
subplot(2,3,5),imshow(P); title('prewitt算子锐化图像');
5、频域锐化:高通滤波器锐化。 A=imread('onion.png'); B=rgb2gray(A);
figure,subplot(131),imshow(B); title('原图'); B=double(B);
B=fftshift(fft2(B)); E=B;
[M,N]=size(B); k1=round(M/2); k2=round(N/2); D=50;
for i=1:1:M for j=1:1:N
juli=sqrt((i-k1)^2+(j-k2)^2);
K(i,j)=1-exp((-1/2)*juli^2*(1/D^2));E(i,j)=K(i,j)*E(i,j); end end
E=ifft2(ifftshift(E)); E=uint8(real(E));
subplot(132),imshow(E);title('高斯高通滤波器');
四、实验结果及分析
1、灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。 ①灰度拉伸运行结果如下:
②直方图均衡运行结果如下: