
1前台
阈值分割是图像的预处理中重要的步骤,实质上对各像素点决定阈值,基于阈值决定当前像素是前景还是背景。当前,存在全局阈值和本地阈值等多个阈值处理方法,是最简单的分割方法,后者将图像整体分割为许多子图像,各图像分别使用不同的阈值进行分割。
本文分析算法,并在该基础上提出一种改进的自适应阈值选择方法,实践证明,该方法简单,计算量小,速度快,统计准确,能及时得到图像阈值,PCB图像分割效果很好在图像分割后,保证目标图形的完美无损,在图像增强后,将开路和短路更加清晰、突出,为今后的图像处理做好充分的准备。
2算法理论
适应阈值分割算法:
(1)将图像分割成四个子图像。
(2)计算各字图像的平均值。
(3)基于平均值设定阈值,阈值仅适用于对应的子图像。
(4)根据阈值对每个子块进行分割。
此算法将平均值作为子块的阈值。
印刷电路板灰度分布特征具有以下特征。
(1)具有明显的背景峰值和目标峰值。
(2)两个峰值距离很远,其间灰度值几乎相等,没有明显的谷。
(3)背景像素点和目标像素点的灰度变化是连续性的,目标边界的灰度是渐变的,不是突变的。
算法被证明不适合印刷电路板,分割的效果也不太好。平均灰度不一定是直方图的谷,PCB的直方图中平坦的区域多,即使是0的灰度等级也很难寻找最小值点,因此为了正确分割PCB图像,需要寻找其他有效的方法。平均灰度值点在两个峰值之间(即,平均灰度值是背景灰度值和目标灰度值之间),接近谷,因此考虑在该区域内寻找最小值点。为了分割PCB的目标图像,首先确定直方图的目标峰值后决定最小值点,然后找出背景峰值,将最小值点作为分割阈值,在目标峰值和背景峰值附近选择一个灰度值,分别作为开路、小路增强的阈值,在PCB图像中目标可能相对稀疏,但可能相对密集。寻找直方图整体的最大值点很简单,但是如何决定该峰值是背景峰值还是目标峰值成为问题的关键。
在一般PCB图像中,目标(铜线)表示为高灰度,背景表示为低灰度,下面讨论可执行的阈值搜索方法。
(1)发现与最大的一个峰值对应的灰度值。在全部灰度区间0255中,找出f(H)的最大值,其对应值为H。
(2)计算图像的平均灰度:
(3)确定背景峰值还是目标峰值:
若选择最小值点,则在平均值点的30附近搜索最小值,其对应值为Hmin。
注意:可以根据实际情况选择相邻区域的大小。
(5)确定的第二个峰值:
在(3)中仅发现背景峰值Hb的情况下,在灰度区间Hmin、255)中发现f(H)的最小值,其对应值成为目标峰值点Hf。
在(3)中发现目标峰值Hf的情况下,在灰度区间0、Hmin中,发现成为背景峰值Hb的f(H)的最小值。
(6)将Hmin作为阈值进行图像分割。
在背景峰值Hb的右侧附近发现灰度等级(一般为Hb+10),进行短路增强。
在目标峰Hf的左侧附近发现灰度级(通常为Hf腐蚀63:10)以增强开路。
注:本算法特别适用于直方图的连续图像,对于不连续的直方图,首先进行近距离插值,将直方图变换为连续图形,由此可以通过上述方法决定阈值。
3实验结果
图像有杂音的情况下,通常采用两种方法。
(1)滤波后进行二值化处理,这样原图像失去大量的边缘详细信息,统计结果不正确。
(2)不进行处理,由此图像中存在很多细微的噪声,同样统计结果也不正确。
为了保证统计结果的准确性,可以采用不由于滤波的影响而使图像的一部分边缘丢失、线宽减小、或将这些噪声点误认为线路而进行统计、先二值化后去除噪声的方法。
在这个实验中,从相机获得的图像比较清晰,噪声较少,所以直接处理。
这个实验结果表明,这种方法是一种实用性高的方法,快速和简单。