- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学技术系
课程设计报告
课 程 自适应中值滤波
专 业 通信工程
班 级 2012级本科一班
学生姓名1 赵效秀 学号1214110104
学生姓名2 郝雪玲 学号1214110117
学生姓名3 陈炳瑞 学号1214110149
学生姓名4 张增俭 学号1214110156
学生姓名5 陈如辉 学号1214110146
二〇一三年十一月目录 I
1.算法描述 2.程序实现
3.变量的改变流程
4.程序的解析过程
5.注意事项
6.实验结果
(1)图像
(2)数据摘要:通过本次课程设计,主要训练和培养学生综合应用所学内容处理课程的滤波器设计的相关知识,独立完成对图片的处理能力。
1.算法描述
该算法利用极值的方法统计图像噪声点,然后计算以噪声点为中心像素的子窗口的方差。对噪声点采用多窗口,多尺度的滤波。能有效的平滑噪声,保存细节。当噪声面积较大时,通过增加滤窗的大小将噪声予以去除,同时当判断滤窗中心的像素是噪声时,该值用中值代替,否则不改变当前像素值。
程序实现
先是读入图像,然后给图像添加椒盐噪声,之后是定义未知量,设置标准图像的大小,之后是一个大循环,这个大循环中有几个小循环,他们的作用分别是确定窗口,最大值最小值,判断噪音点,滤波窗口尺寸增加。到最后输出图像和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; %标准图像的大小(长度)
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=2;%改变窗口的未知量
%%%%%%%%确定窗口
while flag(i,j)==1 %根据flag(i,j)的值改善窗口大小
zuo=i-omiga;
xia=j-omiga;
you=i+omiga;
shang=j+omiga;
if zuo1
zuo=1;%图片只能从横坐标处的1开始,小于1时图片不能不完整输出。
end
if xia1
xia=1; %图片只能从纵坐标处的1开始,小于1时图片不能不完整输出。
end
if youL
you=L;
end
if shangH
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;
for in=zuo:you %确定in在窗口内
for jn=xia:shang %确定jn在窗口内
if ((in==ijn==j)==0) %(in==ijn=j)=1时,继续向下进行,否则结束该循环
vect1(1,kn)=I(in,jn);
文档评论(0)