数字图像处理-图像平滑和锐化变换处理 联系客服

发布时间 : 星期日 文章数字图像处理-图像平滑和锐化变换处理更新完毕开始阅读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变换等。 ①灰度拉伸运行结果如下:

②直方图均衡运行结果如下: