声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 765|回复: 1

[图像处理] 谁能帮我给这个图象去噪程序加个注释(最好是3句一注释)

[复制链接]
发表于 2008-4-23 16:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
谁能帮我给这个图象去噪程序加个注释 最好是3句一注释
谢谢  是一个自适应中值滤波的  应为本人初学  所以想知具体含义
希望大侠帮忙
尽量详细一点  最好还可以帮忙改进一下

clear;
I=imread('e:\chengfan.jpg');
imshow(I)
I=imnoise(I,'salt & pepper', 0.1);
figure;
imshow(I)
figure;
%以上不用注释了
M=I;
num=1;
I=double(I);%
M=double(M);
flag11=1;%
H=256;
L=256;
%
for i=1:H
for j=1:L
flag(i,j)=1;
end
end
%i横坐标
%j综坐标
for i=1:H%大循环
for j=1:L%大循环
omiga=3;
%%%%%%%%确定窗口
while flag(i,j)==1
zuo=i-omiga;
xia=j-omiga;
you=i+omiga;
shang=j+omiga;
if zuo<1
zuo=1;
end
if xia<1
xia=1;
end
if you>L
you=L;
end
if shang>H
shang=H;
end
%%%%%%%窗口确定结束
%%%%%%%%%%%确定最大最小值
smin=I(i,j);
smax=I(i,j);
total=(you-zuo+1)*(shang-xia+1);
vect1=zeros(1,total-1);
kn=1;
for in=zuo:you
for jn=xia:shang
if ((in==i&jn==j)==0)
vect1(1,kn)=I(in,jn);
kn=kn+1;
end
end
end
smin=nanmin(vect1);
smax=nanmax(vect1);
smed=nanmedian(vect1);
%%%%%%%%%%确定最大最小值结束
if (smin<smed)&(smed<smax)
if smin<I(i,j)&I(i,j)<smax
flag(i,j)=0;
else
M(i,j)=smed;
flag(i,j)=0;
end
else
omiga=omiga+2;
if omiga>=17
flag11=0;
M(i,j)=smed;
flag(i,j)=0;
end
end
end%while
end%大循环
end%大循环
I=uint8(M);
imshow(I);

[ 本帖最后由 eight 于 2008-4-23 18:28 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-4-23 16:23 | 显示全部楼层

回复 楼主 的帖子

这个你一行一行运行就知道是什么了
还不懂查帮助
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-2 10:43 , Processed in 0.061870 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表