邻域处理(数字图像处理汉化版).ppt_第1页
邻域处理(数字图像处理汉化版).ppt_第2页
邻域处理(数字图像处理汉化版).ppt_第3页
邻域处理(数字图像处理汉化版).ppt_第4页
邻域处理(数字图像处理汉化版).ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 邻域处理,5.1 简介,滤波器计算公式 空域滤波器的实现需要三步 1.将模板与当前元素对齐 2.计算所有滤波器元素与对应的邻域像素灰度的积 3.将所有乘积相加。,计算空域卷积,需要将模板反转,公式如下 由于在实际应用中,很多滤波模板是对称的,因此空域卷积和空域滤波有相同的输出。,例:,用一个三乘三的模板,取这九个数的均值。,e是当前像素,产生的这个均值以是新图像中对应位置处的像素灰阶,,5.2标记,线性滤波器可以通过一个矩阵来描述。 比如前面的滤波器可以看成下面这个矩阵,滤波器 可以计算出新的灰度值,图像边界的处理方法 很显然图像的边界像素作为当前像素时,模板有一部分落在了边界之外,这时滤波器函数的一些运算对象将缺失,处理这类问题一般有两种方法。,1.边界像素不处理,这样输出的图像将比原来的图像小。 2.将边界以外的区域补零。这样做可以得到一幅与原图像一致大小的图像,但会引入一些不希望引入的影响。,5.3MATLAB中的滤波,均值滤波器原理,在图像上,对待处理的像素给定一个模板,该模板包括了其周围的邻近像素。将模板中的全体像素的均值来替代原来的像素值的方法。,以模块运算系数表示即:,3,4,4,4,5,6,6,7,8,C=6.6316,C=5.5263,均值滤波器处理方法,待处理像素,均值滤波器滤椒盐噪声的效果,均值滤波器滤高斯噪声的效果,边框保留不变的效果示例,均值滤波器的改进 加权均值滤波,均值滤波器的缺点是,会使图像变的模糊,原因是它对所有的点都是同等对待,在将噪声点分摊的同时,将景物的边界点也分摊了。 为了改善效果,就可采用加权平均的方式来构造滤波器。,如下,是几个典型的加权平均滤波器。,加权均值滤波器的效果,h0,h1,h2,h3,h4,MATLAB中的滤波,filter2函数是一个可用来实现线性滤波的函数。 函数格式 filter2(filter,image,shape) 结果是双精度的矩阵,shape是一个与边缘处理方法有关的参数。,filter2(filter,image,same)用零填充的方法产 生滤波后的矩阵。 x=uint8(10*magic(5) a=ones(3,3)/9 filter2(a,x,same),x = 170 240 10 80 150 230 50 70 140 160 40 60 130 200 220 100 120 190 210 30 110 180 250 20 90,a = 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111,ans= 76.6667 85.5556 65.5556 67.7778 58.8889 87.7778 111.1111 108.8889 128.8889 105.5556 66.6667 110.0000 130.0000 150.0000 106.6667 67.7778 131.1111 151.1111 148.8889 85.5556 56.6667 105.5556 107.7778 87.7778 38.8889,filter2(filter,image,valid)使模板只处理内部 的像素点,输出的结果总是比原图像小。 filter2(a,x,valid) ans = 111.1111 108.8889 128.8889 110.0000 130.0000 150.0000 131.1111 151.1111 148.8889,filter2(filter,image,valid)使模板只处理内部 的像素点,输出的结果总是比原图像小。 filter2(a,x,valid) ans = 111.1111 108.8889 128.8889 110.0000 130.0000 150.0000 131.1111 151.1111 148.8889,filter2(a,x,same)也可以用valid参数来实现 x2=zeros(7,7); x2(2:6,2:6)=x x2 = 0 0 0 0 0 0 0 0 170 240 10 80 150 0 0 230 50 70 140 160 0 0 40 60 130 200 220 0 0 100 120 190 210 30 0 0 110 180 250 20 90 0 0 0 0 0 0 0 0,filter2(a,x2,valid) ans = 76.6667 85.5556 65.5556 67.7778 58.8889 87.7778 111.1111 108.8889 128.8889 105.5556 66.6667 110.0000 130.0000 150.0000 106.6667 67.7778 131.1111 151.1111 148.8889 85.5556 56.6667 105.5556 107.7778 87.7778 38.8889,filter2(a,x,full)这是补零后,返回模板和矩阵的所有相关 运算的结果,ans= 18.8889 45.5556 46.6667 36.6667 26.6667 25.5556 16.6667 44.4444 76.6667 85.5556 65.5556 67.7778 58.8889 34.4444 48.8889 87.7778 111.1111 108.8889 128.8889 105.5556 58.8889 41.1111 66.6667 110.0000 130.0000 150.0000 106.6667 45.5556 27.7778 67.7778 131.1111 151.1111 148.8889 85.5556 37.7778 23.3333 56.6667 105.5556 107.7778 87.7778 38.8889 13.3333 12.2222 32.2222 60.0000 50.0000 40.0000 12.2222 10.0000,上面的三种参数选择,要根据具体情况来选择,根据滤波 器的特点和对结果的要求。,fspecial函数产生预定义滤波器,即通过不同参数 设置,产生不同的滤波模板。 fspecial(average,5,7) ans = 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286 0.0286,fspecial(average,11),fspecial(average) ans = 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111,c=imread(cameraman.tif); f1=fspecial(average); cf1=filter2(f1,c); figure,imshow(c),figure,imshow(cf1/255),f1=fspecial(average,9);,f1=fspecial(average,25);,可以看到,当模板越大时,图像模糊的程度越深。用补零 的方法得到的图像会在周围产生一圈黑色的边界。如果不 想有这个黑框可以用valid。 可以看到这种滤波器输出的图像,清晰度明显不如原图。 一、可分解的滤波器 一个3*3的均值滤波器可以由一个3*1的均值滤波器和一个 1*3的均值滤波器相乘得到,即一个3*3的滤波器可以分解 为两个小滤波器的乘积,这可以大大的节省运算量。 一个n*n的滤波器在计算每个像素时需要n*n次乘法和n*n-1 次加法,而n*1的滤波器只需要n次乘法和n-1次加法,由于 需要做两次,所以一共是2n次乘法和2n-2次加法。,对于一幅图像来说频率指的是灰度随距离变化的程度的度量。 高频部分:在很短的距离内灰度的变化很大。比如边缘和噪声。 低频部分:在图像中灰度变化比较小的那部分。比如背景等。 高通滤波器:通过高频部分,削弱或消除低频部分。 低通滤波器:通过低频部分,削弱或消除高频部分。,5.4频率响应:低通、高通滤波器,3*3模板的均值滤波是低通滤波器, 模板为 的滤波器是高通滤波器。 可以看到,这个模板中的所有系数之和为零,也就是说在灰度值变化不大的区域,通过这个模板处理过后,当前像素灰度值将趋近于零。如下例子,用上面的模板对中间的四个像素进行处理。,f=fspecial(laplacian),cf=filter2(f,c); imshow(cf/100),f = 0.1667 0.6667 0.1667 0.6667 -3.3333 0.6667 0.1667 0.6667 0.1667,f=fspecial(log),f = 0.0448 0.0468 0.0564 0.0468 0.0448 0.0468 0.3167 0.7146 0.3167 0.0468 0.0564 0.7146 -4.9048 0.7146 0.0564 0.0468 0.3167 0.7146 0.3167 0.0468 0.0448 0.0468 0.0564 0.0468 0.0448,cf=filter2(f,c); imshow(cf/100),关于溢出0255范围的情况的处理,将负值直接取绝对值:这只适用于小于零的情况而不适用于大于255的情况。并且在特殊场合才能应用,即当这里只有少数几个负值,并且这些值很接近于零。 校正值:小于0的赋成0,大于255的赋成255.但这对于超出范围的像素很多的情况不适用。 尺度变换:利用一个线性函数将结果转换为适合输出的矩阵 gL是滤波后的最低灰阶,gH是滤波后的最高灰阶,这是一个线性函数关系,斜率为,用mat2gray函数可以直接将结果转换成为可显示的形式,但注意这个函数的输入和输出都要求是双精度的,f2=1 -2 1;-2 4 -2;1 -2 1; cf2=filter2(f2,c); imshow(mat2gray(cf2),maxcf2=max(cf2(:); mincf2=min(cf2(:); cf2g=(cf2-mincf2)/(maxcf2-mincf2); imshow(cf2g),也可以直接编程获得转换结果,也可以直接除一个常数得到可显示的图像,imshow(cf2/60),5.5高斯滤波器,高斯低通滤波器的二维形式:,高斯曲线的傅立叶反变换也是高斯曲线,因此根据高斯 低通滤波器的傅立叶反变换而得到的空间高斯滤波器 将没有振铃.,GLPF传递函数的透视图 (b)以图像显示的滤波器 (c)各种D0值的滤波器横截面,(a)原图像 (b)-(f)用高斯低通滤波器滤波的结果,其截止频率半径分别为 5,15,30,80和230.,截止频率距原点的距离为D0的高斯高通滤波器 (GHPF)的传递函数如下:,高斯高通滤波器 高斯高通滤波器的转移函数的横截面图和透视图如下图所示。,透视图的含义是: 只有那些位于该倒立型草帽体外的频率范围的信号才能通过,而位于倒立型草帽体内的频率成分都将被虑除掉。,高斯高通滤波器 下图给出的是用高斯型高通滤波器实现的高通滤波的结果。,由上图可以看出:随着D0值的增大,增强效果更加明显,即使对于微小的物体和细线条,用高斯滤波器滤波后也比较清晰。,高斯函数的特点:高斯函数的傅里叶变换依然是高斯函数,频率域的高斯函数的逆变换也是高斯函数,因此在频域向空域转换的过程中不会出现振铃现象。,可以用fspecial来实现高斯滤波函数,D0=3,D0=9,g1=fspecial(gaussian,5 5); g2=fspecial(gaussian,5 5); g3=fspecial(gaussian,11 11,1); g4=fspecial(gaussian,11 11,5); imshow(filter2(g1,c)/256) figure,imshow(filter2(g2,c)/256) figure,imshow(filter2(g3,c)/256) figure,imshow(filter2(g4,c)/256),5.6边缘锐化,锐化就是是边缘更加清晰便于人眼观察。 锐化可以通过下面三种方法实现: 1.边缘增强 2.边缘提升 3.非锐化掩模:从原始图中减去模糊图也称为(非锐化) 掩模。,一、非锐化掩模,原始图像,低通滤波后模糊的图像,乘以一个小于1的权值,相减,显示,原图,处理后效果,非锐化掩模可以定义成滤波器的形式,,或者写成,,fspecial中的unsharp参数产生的滤波器的形式如下所示,其中是操作参数,默认值为0.2如果等于0.5,则滤波器变为,p=imread(cameraman.tif); u=fspecial(unsharp,0.5) pu=filter2(u,p); imshow(p),figure,imshow(pu/255),二、高频提升滤波器,与非锐化掩模滤波器同类的是高频提升滤波器。利用原图的一部分与高频相加,可恢复一些高通滤波时丢失的低频分量,使最终结果与原图更接近。 高频提升=A(原图)-低通 这里的A是放大因子。如果A=1,则产生一个普通的高通滤波器;如果用3*3的均值滤波器那么将得到如下的高频提升滤波器,此处z8。,如果z=11则得到的滤波器将接近于上面的非锐化掩模滤波器,x=imread(xx.tif); f=-1 -1 -1;-1 11 -1;-1 -1 -1/9; xf=filter2(f,x); imshow(xf/80),figure,imshow(x),没有除80的效果,这里的80是一个经验值,上面的高频提升的模型也可以写成,高频提升=A(原图)-低通 = A(原图)-(原图)-(高频) =(A-1)(原图)+(高通),将等式乘以一个因子w,令滤波器的值累加为1,这时得到的高频提升滤波效果最好。 此处,由此得到一般的高频提升模型,这模型的一种变形为,A的最佳取值为,如果A=3/5,则公式为,如果A=5/6,则公式为,id=0 0 0;0 1 0;0 0 0; f=fspecial(average); hb1=3*id-2*f hb2=1.25*id-0.25*f x1=filter2(hb1,x); imshow(x1/255),hb1,hb2,能够看出来hb1效果比较好,hb1 = -0.2222 -0.2222 -0.2222 -0.2222 2.7778 -0.2222 -0.2222 -0.2222 -0.2222,hb2 = -0.0278 -0.0278 -0.0278 -0.0278 1.2222 -0.0278 -0.0278 -0.0278 -0.0278,5.7非线性滤波器,非线性滤波器包括了极大值滤波器、极小值滤波器和中值滤波器。这些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论