均值滤波matlab程序代码

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%均值滤波

%方法一:filter2

clear all;

figure

I=rgb2gray(imread(''));

I=imnoise(I,'salt & pepper',; %加入椒盐噪声

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均值滤波

subplot(2,2,1),imshow(I),title('椒盐噪声图'); %显示原图像

subplot(2,2,2),imshow(K1),title('3*3均值滤波图像');

subplot(2,2,3),imshow(K2),title('5*5均值滤波图像');

subplot(2,2,4),imshow(K3),title('7*7均值滤波图像');

%方法二双循环语句,移动平均法

%均值滤波

clc,clear;

figure

f=rgb2gray(imread(''));

subplot(2,2,1),imshow(f),title('原图');

f1=imnoise(f,'gaussian',,;

subplot(2,2,2),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/16;

Y(i+k1,j+k2)=h;

end;

end;

Y=Y/255;

subplot(2,2,3),imshow(Y)

,title('均值滤波图');

相关文档
最新文档