中值滤波matlab程序

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

中值滤波3*3滤波窗口
程序如下:
>> i=imread('Winter.jpg'); %读入图像

subplot(2,2,1);
imshow(i); %显示原始图像
title('original'); %设置图像标题
j = imnoise(i,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声
subplot(2,2,2);
imshow(j); %显示处理后的图像
title('加入椒盐噪声');
k = imnoise(i,'gaussian',0.02); %加均值为0,方差为0.02的加入高斯噪声
l = imnoise(k,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声
subplot(2,2,3);
imshow(l);
title('加入椒盐噪声和高斯噪声');
r=l(:,:,1);
g=l(:,:,2);
b=l(:,:,3);
[m,n]=size(r);
for i=1:m
for j=1:n
if(i==1|i==m|j==1|j==n)
G(i,j)=r(i,j);
else
hao(1)=r(i-1,j-1);
hao(2)=r(i-1,j);
hao(3)=r(i-1,j+1);
hao(4)=r(i,j-1);
hao(5)=r(i,j);
hao(6)=r(i,j+1);
hao(7)=r(i+1,j-1);
hao(8)=r(i+1,j);
hao(9)=r(i+1,j+1);
hao=sort(hao);
G(i,j)=hao(5);
end
end
end
>> for i=1:m
for j=1:n
if(i==1|i==m|j==1|j==n)
K(i,j)=g(i,j);
else
hao(1)=g(i-1,j-1);
hao(2)=g(i-1,j);
hao(3)=g(i-1,j+1);
hao(4)=g(i,j-1);
hao(5)=g(i,j);
thao(6)=g(i,j+1);
hao(7)=g(i+1,j-1);
hao(8)=g(i+1,j);
hao(9)=g(i+1,j+1);
hao=sort(hao);
K(i,j)=hao(5);
end
end
end
>> for i=1:m
for j=1:n
if(i==1|i==m|j==1|j==n)
L(i,j)=b(i,j);
else
hao(1)=b(i-1,j-1);
hao(2)=b(i-1,j);
hao(3)=b(i-1,j+1);
hao(4)=b(i,j-1);
hao(5)=b(i,j);
hao(6)=b(i,j+1);
hao(7)=b(i+1,j-1);
hao(8)=b(i+1,j);
hao(9)=b(i+1,j+1);
hao=sort(hao);
L(i,j)=hao(5);
end
end
end
>> l(:,:,1)=G;
>> l(:,:,2)=K;
>> l(:,:,3)=L;
>> subplot(2,2,4);
>> imshow(l);
用5*5的滤波窗口进行中值滤波处理:
程序如下:
>> i=imread('Winter.jpg'); %读入图像
subplot(2,2,1);
imshow(i); %显示原始图像
title('original');
j = imnoise(i,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声。
subplot(2,2,2);
imshow(j); %显示处理后的图像

title('加入椒盐噪声');
k = imnoise(i,'gaussian',0.02); %加均值为0,方差为0.02的加入高斯噪声
l = imnoise(k,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声
subplot(2,2,3);
imshow(l);
title('加入椒盐噪声和高斯噪声');
r=l(:,:,1);
g=l(:,:,2);
b=l(:,:,3);
[a,b]=size(r);
for i=1:a
for j=1:b
if(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b)
P(i,j)=r(i,j);
else
hao(1)=r(i-2,j-2);
hao(2)=r(i-2,j-1);
hao(3)=r(i-2,j);
thao(4)=r(i-2,j+1);
hao(5)=r(i-2,j+2);
hao(6)=r(i-1,j-2);
hao(7)=r(i-1,j-1);
hao(8)=r(i-1,j);
hao(9)=r(i-1,j+1);
hao(10)=r(i-1,j+2);
hao(11)=r(i,j-2);
hao(12)=r(i,j-1);
hao(13)=r(i,j);
hao(14)=r(i,j

+1);
hao(15)=r(i,j+2);
hao(16)=r(i+1,j-2);
hao(17)=r(i+1,j-1);
hao(18)=r(i+1,j);
hao(19)=r(i+1,j+1);
hao(20)=r(i+1,j+2);
hao(21)=r(i+2,j-2);
hao(22)=r(i+2,j-1);
hao(23)=r(i+2,j);
hao(24)=r(i+2,j+1);
hao(25)=r(i+2,j+2);
hao=sort(hao);
P(i,j)=hao(13);
end
end
end


>> for i=1:a
for j=1:b
if(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b)
Q(i,j)=g(i,j);
else
hao(1)=g(i-2,j-2);
hao(2)=g(i-2,j-1);
hao(3)=g(i-2,j);
hao(4)=g(i-2,j+1);
hao(5)=g(i-2,j+2);
hao(6)=g(i-1,j-2);
hao(7)=g(i-1,j-1);
hao(8)=g(i-1,j);
hao(9)=g(i-1,j+1);
hao(10)=g(i-1,j+2);
hao(11)=g(i,j-2);
hao(12)=g(i,j-1);
hao(13)=g(i,j);
hao(14)=g(i,j+1);
hao(15)=g(i,j+2);
hao(16)=g(i+1,j-2);
hao(17)=g(i+1,j-1);
hao(18)=g(i+1,j);
hao(19)=g(i+1,j+1);
hao(20)=g(i+1,j+2);
hao(21)=g(i+2,j-2);
hao(22)=g(i+2,j-1);
hao(23)=g(i+2,j);
hao(24)=g(i+2,j+1);
hao(25)=g(i+2,j+2);
hao=sort(hao);
Q(i,j)=hao(13);
end
end
end
>> for i=1:a
for j=1:b
if(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b)
W(i,j)=b(i,j);
else
hao(1)=b(i-2,j-2);
hao(2)=b(i-2,j-1);
hao(3)=b(i-2,j);
hao(4)=b(i-2,j+1);
hao(5)=b(i-2,j+2);
hao(6)=b(i-1,j-2);
hao(7)=b(i-1,j-1);
hao(8)=b(i-1,j);
hao(9)=b(i-1,j+1);
hao(10)=b(i-1,j+2);
hao(11)=b(i,j-2);
hao(12)=b(i,j-1);
hao(13)=b(i,j);
hao(14)=b(i,j+1);
hao(15)=b(i,j+2);
hao(16)=b(i+1,j-2);
hao(17)=b(i+1,j-1);
hao(18)=b(i+1,j);
hao(19)=b(i+1,j+1);
hao(20)=b(i+1,j+2);
hao(21)=b(i+2,j-2);
hao(22)=b(i+2,j-1);
hao(23)=b(i+2,j);
hao(24)=b(i+2,j+1);
hao(25)=b(i+2,j+2);
hao=sort(hao);
W(i,j)=hao(13);
end
end
end
l(:,:,1)=P;
l(:,:,2)=Q
l(:,:,3)=w
subplot(2,2,4)
imshow(l);

相关文档
最新文档