13的中值滤波模板.docx

上传人:b****3 文档编号:1804134 上传时间:2022-10-24 格式:DOCX 页数:6 大小:18.98KB
下载 相关 举报
13的中值滤波模板.docx_第1页
第1页 / 共6页
13的中值滤波模板.docx_第2页
第2页 / 共6页
13的中值滤波模板.docx_第3页
第3页 / 共6页
13的中值滤波模板.docx_第4页
第4页 / 共6页
13的中值滤波模板.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

13的中值滤波模板.docx

《13的中值滤波模板.docx》由会员分享,可在线阅读,更多相关《13的中值滤波模板.docx(6页珍藏版)》请在冰豆网上搜索。

13的中值滤波模板.docx

13的中值滤波模板

竭诚为您提供优质文档/双击可除

1*3的中值滤波模板

  篇一:

实验2.3中值滤波

  实验2.3中值滤波

  一、实验代码#include

  #include

  #include

  #include"cv.h"

  #include"highgui.h"

  #defineu20//高斯分布的均值

  #defined30//高斯分布的均方差

  intgaus_s(){//产生高斯样本,以u为均值,d为均方差

  doublesum=0;

  for(inti=0;i  sum+=rand()/32767.00;

  //计算机中rand()函数为-32767~+32767(2^15-1)

  //故sum+为0~1之间的均匀随机变量

  returnint(u+d*(sum-6));

  //产生均值为u,标准差为d的高斯分布的样本,并返回

  }

  intmain()

  {

  iplimage*img,*imge,*imga,*imgg,*imggg;

  inti,j,sum,k;

  intheight,width,step,channel;

  uchar*data,*daat,*dd,*junzhi,*zhongzhi;

  cvsizeczsize;

  imga=cvloadimage("d:

\\123.jpg",0);//灰度图

  height=imga->height;//图像信息

  width=imga->width;

  step=imga->widthstep;

  channel=imga->nchannels;//图像信息nchannels是图像通道,黑白1通道,彩色3通道data=(uchar*)imga->imagedata;//像素

  img=cvcreateimage(cvsize(imga->width,imga->height),imga->depth,imga->nchannels);dd=(uchar*)img->imagedata;

  imgg=cvcreateimage(cvsize(imga->width,imga->height),imga->depth,imga->nchannels);junzhi=(uchar*)imgg->imagedata;

  imggg=cvcreateimage(cvsize(imga->width,imga->height),imga->depth,imga->nchannels);

  zhongzhi=(uchar*)imggg->imagedata;

  srand((unsigned)time(null));//种下随机种子

  //产生高斯噪声

  for(i=0;i  {

  for(j=0;j  {

  }

  }

  //中值滤波

  inta[9],temp,p;

  for(i=0;i  for(j=0;j  //边界处理

  if(i==0||i==height||j==0||j==width){

  for(intk=0;k  zhongzhi[i*step+j*channel+k]=dd[i*step+j*channel+k];}

  else{

  for(intk=0;k  for(k=0;k  {

  p=k;

  for(intl=k;l  {

  if(a[l]  p=l;

  }

  temp=a[k];

  a[k]=a[p];

  a[p]=temp;

  }

  //取中值

  zhongzhi[i*step+j*channel+k]=a[4];

  }}

  }

  }

  cvnamedwindow("灰度图",1);

  cvshowimage("灰度图",imga);

  cvnamedwindow("高斯噪声图",1);

  cvshowimage("高斯噪声图",img);

  cvnamedwindow("中值滤波",1);

  cvshowimage("中值滤波",imggg);

  cvwaitkey(0);

  return0;

  }

  篇二:

中值滤波

  数

  学号:

  专业:

  字图像处理姓名:

xxxxxxxxxxxxxxxxxxxxxxxxxxxx

  非线性平滑——中值滤波

  一.实验目的

  1.了解统计排序滤波器在数字图象处理中的作用;

  2.理解中值滤波的原理、特点、适用对象;

  3.掌握中值滤波的各种方法。

  二.实验原理

  中值滤波是一种非线性信号处理方法,与其对应的中值滤波器是一种统计排序滤波器,用象素邻域内各灰度级排序的中值来代替该象素的灰度级(用一个奇数点的移动窗口,将窗口中心点的值用窗口内的中值代替),一定条件下,可以克服线性滤波器(如邻域平滑滤波等)所带来的图象细节模糊,而且对滤除脉冲干扰及图象扫描噪声最为有效(中值滤波的输出与输入噪声的密度分布有关,对随机噪声的抑制能力,中值滤波比平均值滤波要差一些;但对脉冲干扰,特别是脉冲宽度小于窗口一半、相距较远的窄脉冲干扰,中值滤波的效果较好)。

  设有一个一维序列f1,f2,…,fn,取窗口长度(点数)为m(m为奇数),对其进行中值滤波,就是从输入序列中相继抽出m个数fi-v,…,fi-1,fi,fi+1,…,fi+v(其中fi为窗口中心点值,v=(m-1)/2),再将这m个点按其数值大小排序,取其序号为中心点的那个数作为滤波输出。

用数学公式表示为:

  yimed{fiv,,fi,fiv}m1in,v(4—1)2

  这样处理的特点是:

周期小于m/2(窗口一半)的脉冲会被抑制,而周期大于m/2(窗口一半)的脉冲得到保留,在窗口内单调增加或单调减少的序列,中值滤波输出信号仍保持输入信号不变(利用这个特点,可以使中值滤波既能去除图象中的噪声,又能保持图象中一些物体的边缘)。

  同理,二维中值滤波可由下式表示:

  yijmed{fij}(4—2)a

  式中:

a为窗口;{fij}为二维数据序列。

这样处理的特点是:

当在窗口内,被噪声污染的象素不超过滤波器区域的一半时,噪声会被抑制;当在窗口内,被噪声污染的象素超过滤波器区域的一半时,噪声会得到保留。

  二维中值滤波的窗口形状和尺寸对滤波效果影响较大,不同的图象内容和不同的应用要求,往往采用不同的窗口形状和尺寸。

常用的二维中值滤波窗口有线状、十字形、方形等。

窗口尺寸一般先用3×3,再取5×5逐渐增大,直到滤波效果满意为止。

就一般经验来讲,对于有缓变的较长轮廓线物体的图象,采用方形窗口为宜。

对于包含有尖顶物体的图象,用十字形窗口;而窗口大小则以不超过图象中最小有效物体的尺寸为宜。

如果图象中点、线、尖角细节较多,则不宜采用中值滤波。

对一些内容复杂的图象,可以使用复合型中值滤波,如中值滤波的线性组合,即将几种窗口尺寸大小和形状不同的中值滤波器复合使用,只要各窗口都与中心对称,滤波输出可保持几个方向上的边缘跳变,而且跳变幅度可调节;其线性组合方程如下:

  yijakmed{fij}(4—3)

  k1akn

  式中:

ak为不同中值滤波的系数,ak为窗口。

  三.程序代码

  1.方形模板滤波

  clear;

  i=imread(f:

00.tif);

  figure,imshow(i),title(原始图象);

  j=imnoise(i,salt,0.02);

  figure,subplot(1,2,1),imshow(j);title(椒盐噪声干扰图像)

  x=j;k=5;%中值k=5

  [m,n]=size(x);%求出输入图像的行数m和列数n

  p=m+2;

  q=n+2;

  g=zeros(p,q);%产生一个大一圈的零矩阵

  fori=2:

p-1

  forj=2:

q-1

  g(i,j)=x(i-1,j-1);%外围为零的x矩阵

  end

  end

  fori=2:

p-1%进行中值滤波

  forj=2:

q-1

  b=g(i-1:

i+1,j-1:

j+1);%把图像中的一个3*3领域赋给b

  temp=b(:

);%把领域中的元素变成一维并赋给temp

  form=1:

9%利用冒泡法排序

  forn=2:

9

  iftemp(n-1)>temp(n)

  t=temp(n-1);

  temp(n-1)=temp(n);

  temp(n)=t;

  end

  end

  end

  %tempsort=sort(temp);%对其中的像素值进行排序

  y(i-1,j-1)=temp(k);%将模板的中值(k=5)赋给模板中心位置的元素end;

  end;

  y=uint8(y);%图像是八位灰度级,matlab读入图像的函数是uint8subplot(1,2,2),imshow(y);title(3×3中值滤波图像)

  滤波结果截图

  程序代码

  clear;

  i=imread(f:

00.tif);

  figure,imshow(i),title(原始图象);

  j=imnoise(i,salt,0.02);

  figure,subplot(1,2,1),imshow(j);title(椒盐噪声干扰图像)x=j;k=13;%中值k=13

  [m,n]=size(x);%求出输入图像的行数m和列数n

  p=m+4;

  q=n+4;

  g=zeros(p,q);%产生一个大两圈的零矩阵

  fori=3:

p-2

  forj=3:

q-2

  g(i,j)=x(i-2,j-2);%外围为零的x矩阵

  end

  end

  fori=3:

p-2%进行中值滤波

  forj=3:

q-2

  b=g(i-2:

i+2,j-2:

j+2);%把图像中的一个5*5领域赋给btemp=b(:

);%把领域中的元素变成一维并赋给temp

  form=1:

25%利用冒泡法排序

  forn=2:

25

  iftemp(n-1)>temp(n)

  t=temp(n-1);

  temp(n-1)=temp(n);

  temp(n)=t;

  end

  end

  end

  %tempsort=sort(temp);%对其中的像素值进行排序

  y(i-2,j-2)=temp(k);%将模板的中值(k=5)赋给模板中心位置的元素end;

  end;

  y=uint8(y);%图像是八位灰度级,matlab读入图像的函数是uint8subplot(1,2,2),imshow(y);title(5×5中值滤波图像)

  结果截图

  篇三:

均值滤波和中值滤波

  均值滤波与自适应中值滤波的仿真与实现

  摘要

  图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵,然而在图像使用和传输过程中,不可避免会受到噪声的干扰,因此为了恢复原始图像,达到好的视觉效果,需要对图像进行滤波操作。

根据噪声种类不同,可以采用不同的滤波方法,均值滤波是典型的线性滤波算法,能够有效滤波图像中的加性噪声,而中值滤波器是能够有效滤除脉冲噪声的非线性滤波器,但传统中值滤波去脉冲噪声的性能受滤波窗口尺寸的影响较大,在抑制图像噪声和保护细节两方面存在矛盾。

本文首先对不同均值滤波器在处理不同噪声方面的优缺点进行了分析,然后分别用中值滤波器和自适应中值滤波器对被椒盐噪声污染的图像进行了滤波操作,发现自适应中值滤波方法不仅可以有效滤波椒盐噪声,同时还可以有效地克服中值滤波器造成图像边缘模糊的缺点。

  1.均值滤波均

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1