基于PCB图像预处理的研究及其实现
首先研究了噪声门限,中值滤波以及快速中值滤波方法,并且提出了一种快速加权中值滤波算法,通过MATLAB 处理图像,灰度直方图以及频谱图进行对比分析,结果表明快速加权中值滤波.
引言
在信息产业中PCB 是一个不可缺少的重要支柱,PCB 作为各种电子产品的基本零组件和集成各电子元器件的信息载体向着高性能化、高速化、轻薄短小化方向得到了快速发展,其技术和复杂程度已经达到了一个非常高的水平。因此,随着PCB 领域的不断扩大,PCB 的重要性也在进一步提高。
系统在 PCB 待测灰度图像的采样、量化、以及传输过程中,由于光照的不均变化、电荷耦合元件(CCD,Charge-Coupled Device)摄像机自身的传感器噪声、模数采集(AD,Analog-to-Digital)过程的量化噪声、感光过程产生的颗粒噪声、以及人为因素的轻微抖动等,在传输、接收处理得到的图像都不可避免受到内部器件和外部环境的影响,从而使图像质量失真,信噪比下降。为了降低噪声,可以使用平滑滤波器对待测图像进行滤波处理,但选择不同大小的平滑滤波器对处理后图像模糊程度不同,因此要提高图像的质量要求所使用的滤波器不仅能够有效地去除噪声并且能够尽可能保留图像的原貌。
1 图像增强
图像增强是改进图像质量的技术,相对于图像识别的一种前期处理,根据图像增强处理的空间不同,可分为空间域处理以及频率域处理两大类,前者包括对图像的灰度级作用以及直方图修正,都是直接对像素灰度值进行处理;后者是对图像的频谱成分进行分析操作,经过傅里叶变换,对图像频谱的高频低频部分进行处理,再经逆傅里叶变换获得所需图像结果。
采集的 PCB 图像由于外部曝光以及在信道传输过程中的其他干扰因素,使得图像明暗度降低、噪声加大,为有效的消除噪声干扰并且使图像的明暗对比增强,本文在PCB 待测图像增强中选择空间域的灰度变换处理和图像平滑处理。
1.1 空间域的灰度变换
灰度变换作为图像增强的一种重要手段,可以使图像动态范围加大、使图像对比度扩展,使图像特征更加明显来改善图像显示效果。灰度变换可分为线性变换和非线性变换。令原图像m(x,y)的灰度范围为[a,b],线性变换后图像n(x,y)的灰度扩展为[c,d],它们之间的关系为:
由于曝光过度或不足,CCD 采集的PCB 图像灰度可能在一个很小的范围内变化,在电脑上可能看到的是没有灰度层次以及模糊的图像。采用线性变换可以对模糊图像的各个像素灰度作线性拉伸,能够使图像视觉效果有效地得到改善。
为提高对图像识别的后期处理以及特征提取,先对原始 PCB 图像进行二值化的灰度处理,然后采用直方图修正技术的图像域方法使图像均衡化。
1.2 空间域图像平滑
图像平滑的目的是为了减少和消除图像噪声以改善图像质量,以便图像分割、图像识别等后续处理。在空间域内可以用邻域平均来减少噪声;在频率域,由于发生高频段的噪声频谱概率更大,可采用各种形式的低通滤波。在空间域图像平滑主要有噪声门限、邻域平均、加权平均、中值滤波等方法。
赵晓霞提出一种偏微分的图像增强方法,这种方法降噪采用全变分(TV,Total Variation)模型与直方图修正技术来实现,这种方法能有效地保留边缘也能够使对比度增强。
万睿等人先对待测图像进行二值化处理,然后通过阈值分割处理,得到二值化阈值,在去除噪声的同时使处理速度也得到了提高。
1.2.1 噪声门限
噪声门限方法是一种常见的噪声消除办法,它对噪声的执行效率高,并且消除简单易行。它对图像平滑时,第一是门限阈值的设定,门限阈值的设定直接影响滤波效果以及图像细节,然后根据图像的特性,对每个像素进行顺序的检测,根据公式与其邻域的所有像素值进行对比,判断是否该像素为噪声。若不是噪声,输出像素原值,若为噪声,则输出为邻域内其它像素灰度的平均值。该方法中门限阈值 T 的选择至关重要,T 选择太大或太小,都会或多或少导致噪声平滑不够或者图像变得模糊。
1.2.2 中值滤波
传统中值滤波算法运算量主要集中在窗口数据的排序上,为了减少排列次数更快的得到中值,提出了一种快速中值滤波算法,将阵列分解为一维阵列进行运算,先取阵列水平各行的中间值,再取水平各行中间值的中值,作为滤波最后的输出。
1.2.3 快速加权中值滤波
为了解决既要降噪, 又要保护图像细节这一矛盾本文提出了一种快速加权中值滤波算法,不仅滤波速度上提高了,噪声得到很好的滤除,还可以保护更多的图像细节。通过加权,使在窗口中的中心象素比重增加,对于输入: I1 I2 , , ,IN) ,输出加权中值滤波:
r 代表加权, MED{} 表示取中值运算函数, 1 2 ( , , , ) N W W W W 表示加权窗口的权, 并且规定W= ( 1, 1,, 1) 时为标准窗口。规定:
其中T 是阈值函数,当W 为整数时, 1 1 {WrI ,2 2 } N N W rI W rI 中分量经加权后输出的个数:
快速加权中值滤波中值运算MED 的运算过程是: 先对加权后的输出中的c N 个数按照顺序升幂排序,排序后输出的c N 个数的第T 个数就是最后的中值输出。
2 MATLAB 图像增强处理
MATLAB 支持包括索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列的5 种图像类型;采集的PCB 图像可以对其先增强对比度,再进行去噪,若运用该方法,则图像原有的噪声在增强对比的过程中也被大大增加了,使后续图像去噪处理得不到很好的效果。
因此本文采用对图像先去噪后增强,经采集得到的 PCB 图像上,可能存在噪声需要去噪,光源强度不够,图像可能整体偏暗,首先用RGB2GRAY函数将采集到的图片转换为灰度图像(256 色),对含有椒盐噪声的PCB 图像分别用本文提出的方法以及传统中值滤波的方法进行比较,去噪后再利用灰度变换对PCB 图像进行增强处理,图1 就是用这种方法处理后的结果。
从图1(a)和图1(c)可以看出对于有椒盐噪声的PCB 图像,传统的3×3 中值滤波处理孤立点的噪声虽然具有很好的效果,但是PCB图像上的走线,器件明显模糊,图像的细节轮廓,质量不能达到很好的效果。图1(e)是对带有椒盐噪声的PCB 图像进行快速加权中值滤波的仿真图,去噪具有明显效果,而且滤波速度也得到了提高,图像的细节,走线都能够很好的保持。
[#page#]
图1(b)、图1(d)、图1(f)是PCB 图像经去噪处理前后的灰度直方图,图中横坐标为灰度等级, 纵坐标为各个灰度等级对应的像素数。其中像素值255 是椒盐噪声,比较两幅图可以明显看出,两种滤波方法都能将噪声很好的去除,但是中值滤波把许多灰度等级都滤除掉了,例如150-200 的灰度等级,使边界变得模糊,而且波峰波谷都遭到了破坏,加权中值滤波去能克服这些缺点,灰度等级,灰度动态范围都能够很好的保留,并且对于波峰、波谷的位置都给予了很好的保留,因此图像许多细节都看的比较清晰,为了更好地便于分析,图2 给出了图像经滤波变换前后的频谱。
3 幅图是经傅里叶变换得到的频谱,为了便于分析,根据傅里叶变换的周期性,把零频移到中间。
幅值谱的明暗程度反映了各频率成分的幅值大小,图像的能量主要集中在低频段(中央部分)。
尽管高频段包含少量的能量,但包含了图像的重要信息,图像的边缘信息属于高频信息,同样,噪声的灰度级变化迅速,也是高频信息。从图中可以看出,两种滤波方法都在一定程度上抑制图像的高频成分,能够有效滤除高频段的噪声,但是低频分量,也就是灰度变化平缓的部分-图像轮廓信息遭到了破坏,从直方图也可以看出变化缓慢的150~200灰度级遭到了破坏,而加权中值能够很好的保护轮廓信息,为了使细节更突出图3 是增强后图像。
从灰度处理后的直方图可以看出,直方图占据了整个图像灰度值允许的范围,增加了图像灰度动态范围,也增加了图像的对比度,在图像视觉上有了较大的反差,使细节更加突出。
3 结语
本文主要对采集的PCB 图像整体偏暗,对比度差,噪声大进行图像的预处理,主要包括空间域的滤波技术以及图像增强的灰度变换,由于传统的中值滤波受滤波窗口尺寸的影响较大,处理后图像的细节变得模糊不清,通过一种改进的加权中值滤波算法,根据灰度直方图以及频谱图分析了处理后图像质量的好坏,结果表明其滤波速度及质量大大超过传统的中值滤波,显着地提高了PCB 图像走线,元器件等边缘,整体图像轮廓的保护能力,最后通过灰度变换使图像的细节变得更加清晰,提高PCB图像的识别率的后期处理。
暂无评论