作业帮 > 综合 > 作业

求 用Matlab做一个中值滤波器

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 02:35:12
求 用Matlab做一个中值滤波器
不要matlab中那些固定函数的 就用matlab直接做一个3*3的 中值滤波器 能让我这个新手看明白的 类似 c语言那种风格的 如果做的好我吧全部分都送上了!
你看这个怎么样?
I=imread('C:\Users\Lenovo\Desktop\lizi.jpg');
imshow(I);
J=imnoise(I,'salt & pepper',0.02);
figure,imshow(J);title(‘加噪声图’);
figure,
[A,map]=imread('C:\Users\Lenovo\Desktop\lizi.jpg');
imshow(A,map),
title('原图');
image=double(A);
u=zeros(1,9);
for i=2:255,
for j=2:255,
u(1)=image(i,j);u(2)=image(i,j+1);u(3)=image(i-1,j+1);
u(4)=image(i-1,j);u(5)=image(i-1,j-1);u(6)=image(i,j-1);
u(7)=image(i+1,j-1);u(8)=image(i+1,j);u(9)=image(i+1,j+1);
for p=1:8,
for q=1:8-p,
if u(q)>u(q+1)
k=u(q);u(q)=u(q+1);u(q+1)=k;
end,
end,
end,
rimage(i,j)=u(5);
end,
end,
figure,
imshow(rimage,map),
title('中值滤波');