资源描述:
《实验二图像平滑》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二图像平滑1.调用MATLAB屮的函数对图像进行邻域平均平滑clearallI=imrcad("cameraman.tif);J=imnoise(I/salt&pepper1);Kl=imfilter(J,fspecial('average',3));%进行3*3均值滤波K2=imfilter(J,fspecial(,average,,5));%进行5*5均值滤波K3=imfilter(J,fspecial('average',7));%进行7*7均值滤波subplot(2,2,1);imshow(J)
2、;title(,加椒盐噪声J;subplot(2,2,2);imshow(Kl);title('3*3均值滤波');subplot(2,2,3);inishow(K2);title('5*5均值滤波);subplot(2,2,4);imshow(K3);title('7*7均值滤波');加椒盐噪声3冯均值滤波5芍均值滤波77均值滤波1.不调用现成的函数实现图像的平滑clearall;I=imread('cameraman.tif);%读入图像fmn]=size(I);J=imnoise(I,'salt&pe
3、pper');%加椒盐噪声Jl=doublc(J);cl=l/9*[l11;111;111J;%模板c2=1/25*111111;11111;11111;11111;11111J;c3=l/49*[l111111;1111111;1111111;1111111;1111111;1111111;1111111];G1=ph(3,m,n,c1,J1);%进行3*3均值滤波G2二ph(5,m,n,c2,Jl);%进行5*5均值滤波G3=phf7,m,n,c3,Jl);%进行7*7均值滤波subplot(2,2,1
4、),imshow(J);subplot(2,2,2),imshow(uint8(G1));subplot(2,2,3),imshow(uint8(G2));subplot(2,2,4),imshow(uint8(G3));functionG=ph(N,m,n,c,J1)%求N*N的模板卷积%m,n是原始图的人小%c是平滑模板%J1是加噪声后的图fori=(N+l)/2:m-(N-l)/2forj=(N+l)/2:n-(N-l)/2L=Jl(i-(N-l)/2:i+(N-l)/2,j-(N-1)/2:j+(N
5、-l)/2).*c;%求点积G(i,j)=sum(sum(L));endEnd1.自己设计一个图像平滑模板I=imread('cameraman.tif);%读入图像[mn
6、=size(I);J=imnoise(I,'salt&pepper');%加椒盐噪声Jl=doublc(J);c=l/36*[l41;4164;141];%模板fori=2:m-lforj=2:n-lL=Jl(i-l:i+l,j-l:j+l).*c;%求点积G(i,j)=sum(sum(L));endendKl=imfilter(J,f
7、specialCaverage3));subplot(1,2,1);imshow(uint8(G));subplot(1,2,2);imshow(K1);