资源描述:
《mattlab《数字图像处理》实验报告02》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称图像的空域与频域增强课程名称数字图像处理课程号19242504学院(系)专业班级学生姓名学号实验地点实验日期12.10.19一、实验目的1.熟练运用Matlab中的函数进行图像的空域增强和频域增强2.能自己编程实现Matlab中的二维滤波函数filter2和中值滤波函数medfilt2的部分功能二、实验内容必做:1.对图像’eight.tif’分别添加椒盐噪声和高斯噪声,分别用中值滤波和空域低通滤波对噪声图像进行去噪。2.对图像’s
2、aturn.tif’分别添加椒盐噪声和高斯噪声,分别用理想低通滤波和巴特沃斯低通滤波对噪声图像进行去噪。3.使用梯度算子和空域高通滤波对图像'moon.tif'进行锐化。选做:4.自己编写一个中值滤波函数mymedfilt2,实现Matlab中的medfilt2函数的功能(边缘采用复制的方式);对图像‘eight.tif’加上椒盐噪声,用自编的函数对其进行中值滤波。三、程序清单与运行结果1.添加椒盐噪声和高斯噪声I=imread('eight.tif');J=imnoise(I,'salt&pepper
3、',0.02);K=imnoise(I,'gaussian');subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('椒盐噪声图像');subplot(233),imshow(K);title('高斯噪声图像');k1=medfilt2(J,[55]);k2=medfilt2(K,[55]);subplot(234),imshow(k1);title('椒盐中值滤波');subplot(235),imshow(k2);titl
4、e('高斯中值滤波');k1=filter2(fspecial('gaussian',3),K);k2=filter2(fspecial('gaussian',5),K);k3=filter2(fspecial('gaussian',7),K);subplot(336);imshow(uint8(k1));title('3*3模板空域低通滤波');subplot(337);imshow(uint8(k2));title('5*5模板空域低通滤波');subplot(338);imshow(uint8(k
5、3));title('7*7模板空域低通滤波');2.I=imread('pout.tif');J=imnoise(I,'salt&pepper',0.02);K=imnoise(I,'gaussian',0.02);subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('椒盐噪声图像');subplot(233),imshow(K);title('高斯噪声图像');A=double(J);f1=fft2(J);g1=fftsh
6、ift(f1);[M,N]=size(f1);n=3;d0=20;n1=floor(M/2);n2=floor(N/2);fori=1:Mforj=1:Nd=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+(d/d0)^(2*n));g1(i,j)=h*g1(i,j);endendg1=ifftshift(g1);g1=uint8(real(ifft2(g1)));subplot(234);imshow(g1);title('巴特沃斯低通滤波去椒盐');B=double(J);f2=fft
7、2(J);g2=fftshift(f1);[M,N]=size(f2);d0=40;n1=floor(M/2);n2=floor(N/2);fori=1:Mforj=1:Nd=sqrt((i-n1)^2+(j-n2)^2);ifd<=d0h=1;elseh=0;endg2(i,j)=h*g2(i,j);endendg2=ifftshift(g2);g2=uint8(real(ifft2(g2)));subplot(235);imshow(g2);title('理想低通滤波去椒盐');(没有图像’satu
8、rn.tif’,用这个代替)3.梯度算子进行锐化。I=imread('moon.tif');H=fspecial('sobel');TH=filter2(H,I);subplot(131),imshow(I);subplot(132),imshow(TH);空域高通滤波对图像'moon.tif'进行锐化I=imread('moon.tif');subplot(121),imshow(I);title('原图像');I=double(I);[