您的位置:首页 > 产品设计 > 产品经理

自适应中值滤波

2016-02-29 19:33 405 查看
练习图像滤波去噪处理

%执行自适应中值滤波
function f = adpmedian(g,smax)
f = g;
f(:) = 0;
alreadyprocessed = false(size(g));

%开始滤波
alreadyprocessed = false(size(g));
for k = 3:2:smax
zmin = ordfilt2(g,1,ones(k,k),'symmetric');
zmax = ordfilt2(g,k*k,ones(k,k),'symmetric');
zmed = medfilt2(g,[k,k],'symmetric');
processusinglevelb = (zmed>zmin)&(zmax>zmed)&~alreadyprocessed;
zb = (g>zmin)&(zmax>g);
outputzxy = processusinglevelb&zb;
outputzmed = processusinglevelb&~zb;
f(outputzxy) = g(outputzxy);
f(outputzmed) = zmed(outputzmed);

alreadyprocessed = alreadyprocessed | processusinglevelb;
if all(alreadyprocessed(:))
break;
end
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息