自适应中值滤波课程报告.docx
- 文档编号:23577728
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:8
- 大小:647KB
自适应中值滤波课程报告.docx
《自适应中值滤波课程报告.docx》由会员分享,可在线阅读,更多相关《自适应中值滤波课程报告.docx(8页珍藏版)》请在冰豆网上搜索。
自适应中值滤波课程报告
计算机科学技术系
课程设计报告
课程自适应中值滤波
专业通信工程
班级2012级本科一班
学生姓名1赵效秀学号1214110104
学生姓名2郝雪玲学号1214110117
学生姓名3陈炳瑞学号1214110149
学生姓名4张增俭学号1214110156
学生姓名5陈如辉学号1214110146
二〇一三年十一月
3.变量的改变流程
4.程序的解析过程
5.注意事项
6.实验结果
(1)图像
(2)数据
摘要:
通过本次课程设计,主要训练和培养学生综合应用所学内容处理课程的滤波器设计的相关知识,独立完成对图片的处理能力。
1.算法描述
该算法利用极值的方法统计图像噪声点,然后计算以噪声点为中心像素的子窗口的方差。
对噪声点采用多窗口,多尺度的滤波。
能有效的平滑噪声,保存细节。
当噪声面积较大时,通过增加滤窗的大小将噪声予以去除,同时当判断滤窗中心的像素是噪声时,该值用中值代替,否则不改变当前像素值。
2.程序实现
先是读入图像,然后给图像添加椒盐噪声,之后是定义未知量,设置标准图像的大小,之后是一个大循环,这个大循环中有几个小循环,他们的作用分别是确定窗口,最大值最小值,判断噪音点,滤波窗口尺寸增加。
到最后输出图像和8位无符号的整形数据(0-255之间)。
3.变量的改变流程
先是double型,也就是双精度的数据,然后经过零矩阵,滤波窗口变为一维矩阵,到最后输出图像和8位的无符号整形数据。
其中smin,smed,smax分别是滤波半径的最小值,中值,最大值,根据最小值和最大值来确定中值。
4.程序的实现过程
clear;
I=imread('standard_lena.bmp');
I=imnoise(I,'salt&pepper',0.7);%添加椒盐噪声
imshow(I)
figure;%控制窗口数量
M=I;
num=1;%将1赋予未知量num
I=double(I);%将I转化为双精度
M=double(M);%将M转化为双精度
flag11=1;
H=512;%标准图像的大小(高度)
L=512;%标准图像的大小(长度)
fori=1:
H
forj=1:
L
flag(i,j)=1;
end
end%默认的滤波窗口设定,与图像大小相等
%i横坐标
%j综坐标
fori=1:
H%大循环
forj=1:
L%大循环
omiga=2;%改变窗口的未知量
%%%%%%%%确定窗口
whileflag(i,j)==1%根据flag(i,j)的值改善窗口大小
zuo=i-omiga;
xia=j-omiga;
you=i+omiga;
shang=j+omiga;
ifzuo<1
zuo=1;%图片只能从横坐标处的1开始,小于1时图片不能不完整输出。
end
ifxia<1
xia=1;%图片只能从纵坐标处的1开始,小于1时图片不能不完整输出。
end
ifyou>L
you=L;
end
ifshang>H
shang=H;
end
%%%%%%%窗口确定结束
%%%%%%%%%%%确定最大最小值
smin=I(i,j);%二维矩阵中的最小值
smax=I(i,j);%二维矩阵中的最大值
total=(you-zuo+1)*(shang-xia+1);%总的向量个数
vect1=zeros(1,total-1);生成1行total列double类矩阵
下面的此循环将二维矩阵窗口转化为一维矩阵的过程
kn=1;
forin=zuo:
you%确定in在窗口内
forjn=xia:
shang%确定jn在窗口内
if((in==i&jn==j)==0)%(in==i&jn=j)=1时,继续向下进行,否则结束该循环
vect1(1,kn)=I(in,jn);
kn=kn+1;
end
end
end%将滤波窗口转化为一维矩阵结束
smin=nanmin(vect1);%给出vect1中的最小值
smax=nanmax(vect1);%给出vect1中的最大值
smed=nanmedian(vect1);%给出vect1中的中值
%%%%%%%%%%%确定最大最小值结束
下面第一个if是为了判断中值是否为噪音点,如果符合下面要求,继续向下进行,则退出循环,重新确定中值。
if(smed-smin)>0&(smax-smed)>0
下面的if是为了判断原像素点是否为噪音点,如果符合if条件要求,则输出原像素点,否则将中值付给原像素点。
ifsmin flag(i,j)=0; else M(i,j)=smed; I(i,j)=smed; flag(i,j)=0; end else%改变窗口尺度大小的过程 omiga=omiga+2;%超过自适应滤波窗口尺寸阈值时(11)用中值代替当前像素值 ifomiga>=5 flag11=0; end ifomiga>=17 flag11=0; M(i,j)=smed; flag(i,j)=0;%确定该窗口 end end end%while end%大循环 end%大循环 I=uint8(M);%将双精度的M转化为8位的无符号整形数据I imshow(I) 5.注意事项 程序中的M和I分别代表数据,图像。 ·语句ifzuo<1zuo=1和ifxia<1xia=1说明了图像在zuo<1和xia<1的时候不显示,从而确定了图像的范围,这点要注意。 ·添加椒盐噪声的程度可以改变,数值越小,图像越清晰,效果越明显。 ·6.实验结果 . 处理后的图片 · ·添加椒盐噪声的图片 ·实验数据vect1(此数据为数据中的一小部分) vect1= Columns1through9 143.0000142.0000142.0000141.2416141.0000143.0000140.0000141.0000141.0000 Columns10through18 143.0000144.0000142.0000255.00000000141.0000 Columns19through24 255.0000143.000000255.0000255.0000 vect1= Columns1through9 142.0000142.0000141.2416141.0000140.0000140.0000141.0000141.0000143.0000 Columns10through18 140.7813142.0000141.62080000141.0000255.0000 Columns19through24 255.000000255.0000255.0000255.000082.5000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自适应 中值 滤波 课程 报告