基于二值化的边缘图像滤波方法
2010-08-09李久芳
李久芳
(中国电子科技集团公司第四十五研究所北京东燕郊 065201)
在实际运用中,如何得到有意义的边缘,去掉噪声和无意义的边缘,一直是我们研究的课题,并且对边缘图像的滤波方法要求具有很高的稳定性和精度,并且算法简单,可操作性强。大量的文献资料是对提取后的边缘图像进行处理和研究,但是提取边缘后的图像,参杂了更多的噪声,并且边缘也不连续,这就给边缘图像的分析带来了很大的困难。
所以在我们多年的研究的基础上,提出了一种基于二值化的边缘图像滤波方法,先对原始图像进行二值化,再进行区域标记,再将处理后的图像与提取边缘后的图像进行与运算,最终得到的边缘图像就是我们想要的边缘图像。图1为本文中提到的图像处理流程。
图1 图像处理过程
1 图像二值化
二值化是基于阈值的图像分割,根据灰度值区分图形和背景。此方法适合对前景和背景有较强对比的图像进行分割,阈值一般由图像的灰度直方图计算得到。选取阈值的方法有很多,有模态法、迭代法、自适应阈值法、双阈值法等,考虑到运算量和精度,我们采用了迭代算法进行图像的分割。
迭代法是针对双峰直方图的计算分割阈值的方法。首先选择一个近似阈值作为估计值的初始值,然后连续不断地改进这一估计值。比如,使用初始阈值生成子图像,并根据子图像的特性来选取新的阈值,再用新的阈值分割图像,这样做的效果将好于用初始阈值分割图像的效果。阈值的改进策略是这一方法的关键。
算法:
(1)首先确定图像中最大和最小的灰度值max和min,令初始的阈值为T=(max+min)/2。
(2)根据T,将图像分成目标和背景两部分,分别求出两部分的平均灰度:
其中:i为灰度值,ni为灰度等于i的像素数。
(4)如果TK+1=TK,则结束迭代过程,否则继续。
得到阈值T之后,对图像进行灰度的阈值变换,将图像转换成黑白二值图像。如果图像中某像素的灰度值小于该阈值,则将该像素的灰度值设置为0,否则灰度值设置为255。
灰度阈值变换的变换函数表达式为:
2 区域标记
区域标记是指给连接在一起的像素附上相同的标记,不同的连接成份附上不同的标记。区域标记在二值图像处理中占有非常重要的地位。对二值化的图像实施区域标记处理,标记处理结果是一标记矩阵,矩阵元素为一些非负的整数,其中每一个正整数对应于图像中的一个对象,对每一个正整数在标记矩阵中出现的次数进行统计,有极大统计值的正整数对应的对象是图像中具有像素极大连接的部分,有较小统计值的正整数对应的对象是图像中具有像素较小连接的部分,保留这些具有极大统计值的正整数对应的对象,即保留了图像中主要的和我们关心的区域,相应地滤除了部分噪声及无意义区域,可以提高图像质量。在上一步中得到了二值化图像,现在将这些二值化的图像连接成几何相关的区域,将标记后的区域,按照尺寸大小进行排序,通过设置阈值,去除小的区域。
算法:
(1)扫描图像,遇到没加标记的目标像素(白像素)P时,添加一个新的标记;
(2)给与P连接在一起(即相同连接成份)的像素添加相同的标记;
(3)进一步给所有与加标记像素连接在一起的像素添加相同的标记;
(4)直到连接在一起的像素全部被添加标记。这样,一个连接成份就被添加了相同的标记;
(5)返回到第1步,重新查找新的没加标记的像素,重复上述各个步骤;
(6)图像全部被扫描后,处理结束。
3 图像与运算
图像之间的逻辑运算包括与、或、非等运算.就逻辑与运算而言,其可以用来确定图像的公共区域。特点是对参与逻辑运算的两幅图像中对应像素进行判断。下面以二值化图像为例来比较这两种运算的特点。设A和B分别表示两幅图像,像素间的逻辑与运算表示为:
其中:C为经过逻辑与运算得到的图像。这种运算的特点是逐个像素进行比较。若两个对应像素灰度都为“255”,则运算的结果中保留此像素,否则像素置为“0”。
4 实验结果与分析
将我们实际运用中的十字标记图形经过canny算子提取边缘,再使用本文介绍的方法对边缘图像进行滤波,结果如图1~图5所示,在这里区域标记选用最大的连接区域。可见运用本文的方法能很好地得到我们需要的边缘图像。
图1 原图
图2 canny提取边缘后的图像
图3 二值化的图像
图4 区域标记的图像
图5 与运算后的图像
5 结论
由于图像边缘中的大量有价值的信息对于图像的进一步处理有着重要的意义,因此许多工作都围绕着寻求边缘定位和噪声平滑的最佳折中展开。本文讨论了基于二值化的边缘图像滤波方法,先对图像进行二值化,再进行区域标记,处理后的图像再与提取的边缘图像进行与运算。实验结果表明,该方法简单不仅能滤除部分噪声还提高了边缘图像的质量,在实际运用中取得了较好的效果。并且具有非常高的实用性。
[1] 张云,李久芳.边缘图像滤波算法[J].电子工业专用设备,2007,(8):30-32.
[2] 徐慧.Visual C++数字图像实用工程案例精选[M].北京:人民邮电出版社,2004.
[3] 陈兵旗,孙明.Visual C++实用图像处理专业教程[M].北京:清华大学出版社,2004.