- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中值滤波原理及MATLAB实现要点
中值滤波原理及MATLAB实现
摘要:图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵MATLAB是一种高效的工程计算语言,在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。,,,,。,,。,,,,,,。。,),。,,。。,,,。.1中值滤波基本原理
中值滤波是一种非线性滤,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波的方法。
中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。
设有一个一维序列,,…,取窗口长度为m(m为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出m个数,,…,,…,,…,,…,,其中为窗口的中心位置,,再将这m个点按其数值大小排列,取其序号为正中间的那作为出。用数学公式表示为: (2-2)
例如:有一个序列为{0,3,4,0,7},则中值滤波为重新排序后的序列{0,0,3,4,7}中间的值为3。此例若用平均滤波,窗口也是取5,那么平均滤波输出为。因此平均滤波的一般输出为: (2-3)
对于二序列进行中值滤波时,滤波窗口也是二维的,但这种二窗口可以有各种不同的形状,如线、圆形、十字形、圆环形等。二维数据的中值滤波可以表示为: (2-4)
在实际使用窗口时,窗口的尺寸一般先用再取逐渐增大,直到其滤波效果满意为止。对于有缓变的较长轮廓线物体的图像,采用方形或圆形窗口为宜,对于包含尖顶角物体的图像,适宜用十字形窗口。使用二维中值滤波最值得注意的是保持图像中有效的细线状物体。与平均滤波器相比,中值滤波器从总体上来说,能够较好地保留原图像中的跃变部分。
clc;
clear all;
close all;
img=imread(3_1.bmp);
img_0=rgb2gray(img);
img_1=imnoise(img_0,salt pepper,0.02);
img_2=medfilt2(img_1);
subplot(2,2,1);imshow(img);title(原始图像);
subplot(2,2,2);imshow(img_0);title(灰度图像);
subplot(2,2,3);imshow(img_1);title(加入噪声后图像);
subplot(2,2,4);imshow(img_2);title(中值滤波后图像);
MatLab自编的均值滤波、中值滤波、高斯滤波 图像处理函数。
%自编的均值滤波函数。x是需要滤波的图像,n是模板大小(即n×n)function d=avefilt(x,n)???a(1:n,1:n)=1;?? %a即n×n模板,元素全是1p=size(x);?? %输入图像是p×q的,且pn,qnx1=double(x);x2=x1;%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素for i=1:p(1)-n+1??? for j=1:p(2)-n+1??????? c=x1(i:i+(n-1),j:j+(n-1)).*a;? %取出x1中从(i,j)开始的n行n列元素与模板相乘??????? s=sum(sum(c));???????????????? %求c矩阵(即模板)中各元素之和??????? x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将模板各元素的均值赋给模板中心位置的元素??? endend%未被赋值的元素取原值d=uint8(x2);
%自编的中值滤波函数。x是需要滤波的图像,n是模板大小(即n×n)function d=midfilt(x,n)???p=size(x);?? %输入图像是p×q的,且pn,qnx1=double(x);x2=x1;for i=1:p(1)-n+1??? for j=1:p(2)-n+1??????? c=x1(i:i+(n-1),j:j+(n-1));? %取出x1中从(i,j)开始的n行n列元素,即模板(n×n的)??????? e=c(1,:);????? %是c矩阵的第一行??????? for u=2:n??????????? e=[e,c(u,:)];???? %将c矩阵变为一个行矩阵??????????? end
您可能关注的文档
最近下载
- 2025年机动车检验机构资质认定评审补充技术要求试题(含答案) .pdf VIP
- 2024年眉山市遴选和选调公务员真题 .docx
- 高校基建工程项目全过程跟踪审计.PPT
- 提捞采油安全操作规程.doc VIP
- PT1-aTrust题库_aTrust题库考试认证.docx VIP
- 14T MRI用Nb₃Sn卢瑟福电缆绞缆工艺与性能的深度剖析及优化策略.docx
- 水阻柜工作原理-源创YRQ水阻柜.doc VIP
- 工作场所空气中粉尘测定第6部分超细颗粒和细颗粒总数量浓度_职业卫生标准培训讲座PPT.pptx VIP
- 北京理工大学信号与系统实验报告.docx VIP
- 2025年新高考1卷数学模拟试题 (1).pdf
文档评论(0)