中值滤波编程求助
function median(I,wide,high)%I=imread('*:\Y.bmp');
=size(I);
a=wide*high;
w=(wide-1)/2;
h=(high-1)/2;
for x=1:M
for y=1:N
if y<=w||y>=N-w||x<=h||x>=M-h
K(x,y)=I(x,y);
else
for m=x-h:x+h
for n=y-w:y+w
T(m-x+h+1,n-y+w+1)=I(m,n);
end
end
temp=T(:);
for m=1:a
for n=1:a-m
if temp(n)>temp(n+1)
t=temp(n);
temp(n)=temp(n+1);
temp(n+1)=t;
end
end
end
K(x,y)=temp((a+1)/2);
end
end
end
imshow(I);
figure,imshow(K);
上面是一段图像中值滤波函数代码。想请教下大侠们代码中的几段循环能实现什么目的。先谢过了
[ 本帖最后由 sogooda 于 2008-6-17 20:19 编辑 ]
回复 楼主 的帖子
第3段是排序,交换位置前面都是赋值啊
[ 本帖最后由 sigma665 于 2008-6-18 09:02 编辑 ] sigma665 发表于 2008-6-17 21:54 static/image/common/back.gif
第3段是排序,交换位置
前面都是赋值啊
请问你有一维信号中值滤波工具箱吗?我的matlab里没有带
页:
[1]