作业帮 > 综合 > 作业

编写用均值滤波去噪的matlab程序,用两种方法实现.(重谢)

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/30 14:32:19
编写用均值滤波去噪的matlab程序,用两种方法实现.(重谢)
用两种方法实现,一种是简单功能语句filter2,另一种是双循环语句,移动平均法
编写用均值滤波去噪的matlab程序,用两种方法实现.(重谢)
方法一:filter2clear all;I=imread('lena.bmp');%读入预处理图像imshow(I)%显示预处理图像K1=filter2(fspecial('average',3),I)/255;%进行3*3均值滤波K2=filter2(fspecial('average',5),I)/255;%进行5*5均值滤波K3=filter2(fspecial('average',7),I)/255;%进行7*7均值滤波figure,imshow(K1)figure,imshow(K2)figure,imshow(K3)方法二:双循环语句,移动平均法%均值滤波clc,clear;f=imread('lena.bmp');subplot(121),imshow(f),title('原图');f1=imnoise(f,'gaussian',0.002,0.0008);%subplot(222),imshow(f1),title('添加高斯噪声图');k1=floor(3/2)+1;k2=floor(3/2)+1;X=f1;[M,N]=size(X);uint8 Y=zeros(M,N);funBox=zeros(3,3);for i=1:M-3        for j=1:N-3                funBox=X(i:i+3,j:j+3);                s=sum(funBox(:));        h=s/9;           Y(i+k1,j+k2)=h;        end;end;Y=Y/255;subplot(122),imshow(Y),title('均值滤波');实现图: