CN112991283A - 基于超像素的柔性ic基板线宽检测方法、介质和设备 - Google Patents
基于超像素的柔性ic基板线宽检测方法、介质和设备 Download PDFInfo
- Publication number
- CN112991283A CN112991283A CN202110240304.5A CN202110240304A CN112991283A CN 112991283 A CN112991283 A CN 112991283A CN 202110240304 A CN202110240304 A CN 202110240304A CN 112991283 A CN112991283 A CN 112991283A
- Authority
- CN
- China
- Prior art keywords
- pixel
- point
- contour
- line
- super
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000000758 substrate Substances 0.000 title claims abstract description 64
- 238000001514 detection method Methods 0.000 title claims description 26
- 230000011218 segmentation Effects 0.000 claims abstract description 119
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 93
- 229910052802 copper Inorganic materials 0.000 claims abstract description 76
- 239000010949 copper Substances 0.000 claims abstract description 76
- 238000004806 packaging method and process Methods 0.000 claims abstract description 19
- 238000007781 pre-processing Methods 0.000 claims abstract description 19
- 238000000605 extraction Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 31
- 238000012937 correction Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012946 outsourcing Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 claims 1
- 238000001914 filtration Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007747 plating Methods 0.000 description 1
- 230000003945 visual behavior Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/64—Analysis of geometric attributes of convexity or concavity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于超像素的柔性IC基板线宽检测方法、介质和设备,首先针对于柔性IC封装基板图像进行预处理,然后采用超像素分割算法分割图像,得到超像素分割图,基于铜面边缘的超像素,得到铜面区域的轮廓图;接着采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;基于各条轮廓中的各直线段,得到各轮廓所属铜线的平均线宽;基于各条轮廓中的凹凸段得到线路的最大最小线宽。本发明基于超像素算法分割柔性基板图像,能有效减少柔性IC基板中纹理对轮廓提取的干扰,获得精确的铜面边缘,而根据分段拟合法对轮廓进行直线拟合和线段分类后,便于高效计算线路线宽信息。
Description
技术领域
本发明涉及图像处理技术应用领域,特别涉及一种基于超像素的柔性IC基板线宽检测方法、介质和设备。
背景技术
柔性IC封装基板,是一种具备可挠性、可折叠性的电路板,广泛应用于各种电子产品中,并逐渐趋于高密度、高精度化。柔性IC封装基板主要分为铜面区域与非铜面区域,基板质量取决于铜面区域的好坏。而线宽是质量检测目标之一,线宽数据可反映基板的线路情况,如布线是否符合标准,镀铜是否合格等,从而防止次品流入市场。由于柔性IC封装基板逐渐高密度化,传统的人工目检不仅效率低,也难以保证检测精度。因此,现今基板的质量检测多基于机器视觉,通过硬件设备采集基板图像,后经相应图像算法处理,最终将结果呈现于人机互动界面上。对于线宽检测,首先要获取精准的铜面轮廓,再在铜面轮廓基础上进一步提取线路信息,计算线宽数据。
现有技术中常见的轮廓检测方法主要包括四种:基于像素、基于边缘、基于区域、基于深度学习,其中:
基于像素的轮廓检测方法,属于低层视觉行为,根据图像的基本特征如亮度、梯度等识别变化明显的像素点,从而得到系列边缘点,典型有Sobel检测算子、Canny检测算子、Prewitt检测算子等,但该类方法只考虑像素点的信息,容易受噪声、纹理的干扰,导致提取的轮廓紊乱、不连续。
基于边缘的轮廓检测方法,首先基于边缘检测器或人类先验知识得到相关的边缘或曲线,再通过分组或优化边缘片段,得到最终的轮廓,如贝叶斯推断分组、活动轮廓等,此类方法多为NP-hard问题,轮廓检测结果难以保证全局最优,在噪声和纹理较多情况检测效果不好。
基于区域的轮廓检测算法,类似图像分割,将图像分成若干区域,把轮廓视为兴趣区域间的边界,该类方法将区域的内部信息考虑在内,使得算法对噪声、纹理更具鲁棒性。
基于深度学习的轮廓检测方法,通过将深度网络应用于轮廓检测中,泛化性较好,但需要大量样本来支持网络训练。
由于柔性IC封装基板布线密度高,图像采集时需使用高精度显微摄像头,细节信息被放大后会导致采集的图片具有较多纹理,因此基于像素、边缘的轮廓检测方法不适用于铜面轮廓的提取。此外采集图像数据较少,训练成本高,基于深度学习的轮廓检测方法也不太合适。
现有技术中常用的线宽检测方法如下:首先提取目标线路的中心线,再沿中心线上各点的法线,双向查找轮廓点,直至遍历到中心线两边的轮廓,该点对应的线宽即为双向遍历的距离之和,但逐点遍历的效率低下。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种基于超像素的柔性IC基板线宽检测方法,该方法能够获取到精确的图像轮廓,并快速准确的检测出线宽数据。
本发明的第二目的在于提供一种基于超像素的柔性IC基板线宽检测装置。
本发明的第三目的在于提供一种存储介质。
本发明的第四目的在于提供一种计算设备。
本发明的第一目的通过下述技术方案实现:一种基于超像素的柔性IC基板线宽检测方法,步骤包括:
获取柔性IC封装基板图像,并且进行预处理;
针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图,然后依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
优选的,针对于预处理后的图像,采用改进的FLIC超像素分割算法对其进行分割处理,具体过程如下:
步骤S21、采用FLIC超像素分割算法对预处理后的图像进行分割,得到初始的超像素分割图;
步骤S22、针对步骤S21所得的初始超像素分割图,筛选并修正其中同时包含铜面区域、非铜面区域的不合格超像素,得到初次修正后的超像素分割图;
步骤S23、针对步骤S22所得初次修正后的超像素分割图,采用限制性局部搜索法优化超像素的边界,得到二次修正后的超像素分割图,作为最终超像素分割图。
更进一步的,步骤S21中得到初始的超像素分割图像的具体过程如下:
步骤S211、针对预处理后的图像,根据设定的超像素个数K将图像等分为K个正方形网格,每个网格对应一个超像素Sk,k=0,1,…,K-1,选取像素点的CIELab颜色空间的通道值和x-y坐标下的位置信息构成5维特征{l,a,b,x,y},然后计算每个超像素Sk中所有像素点的5维特征均值{lk,ak,bk,xk,yk},作为当前超像素的种子点的特征;进入步骤S212;
步骤S212、针对每个超像素,在其最小外包矩形中依次进行前向、后向的遍历,每遍历一个像素点时,判断当前像素点所属超像素类别是否与其四邻域像素点的超像素类别一致,若某个邻域像素点属于其他的超像素,则计算当前像素点到邻域点所属超像素的种子点的特征距离D,最终把当前像素点归类至与其特征距离最近的超像素中,每更新一次超像素类别,则重新计算涉及变化的两类超像素的种子点特征;重复本步骤2次,得到初始的超像素分割图;其中:
步骤S22中,得到初次修正后的超像素分割图的具体过程如下:
其中,gi表示像素i在灰度空间的灰度值,gk表示超像素Sk在灰度空间的平均灰度值,Nk表示超像素Sk包含的像素点个数;
步骤S23中,得到二次修正后的超像素分割图的具体过程如下:
步骤S231、针对步骤S22得到的初次修正后的超像素分割图,建立待优化的超像素边界集Bob;具体为:
首先,针对步骤S1所得的预处理图,通过多次改变FLIC算法中的初始网格位置,分别进行超像素分割,得到多种不同的超像素分割结果;然后,获取步骤S22所得的初次修正后的超像素分割图中的超像素边界点,判断边界像素点在其它超像素分割结果中是否也位于超像素边界上,若至少有一次是,则将该超像素边界点归入待优化的超像素边界集Bob中;
步骤S233、针对待优化超像素边界点及其局部邻域集Adi中的像素点,结合梯度特征fedgei和连通性fconti,计算边界相关度fi,若局部邻域集Adi中存在边界相关度大于当前边界点的像素点,则将该邻域像素点作为新的超像素边界点,否则不改变当前边界点,由此得到二次修正后的超像素分割图,作为最终的超像素分割图;其中:
fi=fconti*fedgei
其中,梯度特征fedgei为像素点i在二像素邻域范围内的相对梯度,ei为像素点i通过Sobel算子计算得到的梯度值,emin,emax分别对应二像素邻域范围内像素点的梯度最小值与最大值;连通性fconti通过计算更新后原超像素边界点的八邻域中孤立像素点数目的变化,来判断超像素边界的连续性是否受影响,若更新边界后孤立像素点数目增多,说明出现了断线,fconti=0,否则fconti=1。
更进一步的,针对步骤S23得到的最终超像素分割图,依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;具体过程为:
步骤S241、针对步骤S23得到的最终超像素分割图,依据亮度信息找出位于铜面边缘处的超像素,若某一超像素的邻接超像素中,既有亮度均值高于设定的高阈值Tl2,也有亮度均值小于设定的低阈值Tl1的超像素,则判定该超像素位于铜面边缘处;
步骤S242、针对步骤S241得到的铜面边缘处的超像素,获取其落于铜面边缘上的超像素边界点,首先根据步骤S231中所述方法确定超像素边界点,然后分析这些边界点八邻域的像素点,若既有亮度值大于设定的低阈值Tl1,也有亮度值小于Tl1的邻域像素点,则判定该超像素边界点为铜面边缘上处的边界点;
步骤S243、连接步骤S242得到的位于铜面边缘处的超像素边界点,得到连续的轮廓,并保存像素点的信息,具体为:
步骤S2431、针对步骤S242得到的铜面边缘处边界点,构成二值图,首先开始行扫描,找到每行的首个边界点,继续在该边界点的八邻域内逆时针查找是否存在另一边界点,若存在则继续在另一边界点的八邻域内查找新的边界点;
步骤S2432、重复步骤S2431的八邻域搜寻,直至遇到二值图的边缘或边界点的八邻域内不存在新边界点后,开始反向的八邻域搜寻,在下一次遇到边缘或八邻域中不存在边界点后,继续反向遍历,直至遇到首个边界点的邻域点后停止,从而获得一条轮廓上所有的像素点;
步骤S2433、开始下一轮的行扫描,重复步骤S2431和步骤S2432,由此连接所有轮廓,并保存像素点的信息;
步骤S244、针对步骤S243得到的连续轮廓,根据保存的像素点信息,首先找到每条轮廓上位于边缘处的反向边界点,以该点为轮廓起始点,然后找到下一个反向边界点,作为轮廓的终止点,然后保存起始点到终止点的像素点信息,得到最终的轮廓图。
优选的,针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,首先按设定步长划分为若干小段,然后计算每小段的线路特征,依据每小段与相邻小段的线路特征关系,识别每条轮廓包含的线路类型,线路类型包括直线段、曲线段、拐角段和凹凸段。
更进一步的,采用分段拟合法对轮廓进行直线拟合和线段分类的具体过程如下:
步骤S31、针对轮廓图中的每条轮廓,按设定步长划分为若干小段Lt,t=0,1,…,每次选取Lt,Lt+1两个小段,根据Lt的首尾点计算斜率k1和倾斜角θ1,Lt中点和Lt+1中点计算斜率k2和倾斜角θ2,Lt+1的首尾点计算斜率k3和倾斜角θ3,Lt的起点和Lt+1的终点计算斜率k4和倾斜角θ4;
若同时满足|θ4-θ1|<θT、|θ4-θ2|<θT、|θ4-θ3|<θT,则将Lt,Lt+1两个小段的线路判定为直线段,取上述斜率k1、k2、k3和k4均值作为该直线段的线路特征,否则为非直线段,由此得到粗分类后的线段L1t,t=0,1,…;
步骤S32、基于步骤S31粗分类后得的每条线段L1t,结合其与相邻线段L1t-1、L1t+1的线路特征关系,进一步识别每条轮廓包含的线路类型,并保存不同类别线段中的像素点位置信息,具体过程为:
若当前线段L1t为直线段,与相邻线段间的倾斜角同时满足|θ1t-1-θ1t|<θT和|θ1t+1-θ1t|<θT,并且L1t-1为直线段,则引入更前的线段L1t-2计算倾斜角偏差,若满足|2θ1t-θ1t-1-θ1t-2|<θT,则将L1t段合并至L1t-1所属的直线段中,更新直线段的终点为L1t段的终点,否则认为L1t段为新的直线段,并保存其起点和终点;
对于未被判定为直线段的剩余线段,若当前段L1t与相邻段间的倾斜角满足|θ1t-1-θ1t|>θT或|θ1t+1-θ1t|>θT,并且满足|θ1t+1-θ1t-1|>θT,线段L1t-1与线段L1t+1的延伸方向相反,则判定L1t为拐角段,保存其起点和终点;
对于未被判定直线段和拐角段的剩余线段,若当前段L1t为与相邻段间的倾斜角满足|θ1t-1-θ1t|>θT或|θ1t+1-θ1t|>θT时,则判定L1t为凹凸段,保存其起点和终点;
对于未被判定为直线段、拐角段和凹凸段的最终剩余的线段,将其判定为曲线段,并保存其起点和终点;
上述θ1t-1为当前线段L1t的前一条线段L1t-1的倾斜角、θ1t为当前线段L1t的倾斜角、θ1t+1为当前线段L1t的后一条线段L1t+1的倾斜角、θ1t-2为线段L1t-2的倾斜角;
步骤S33、针对步骤S32进一步识别轮廓线路类型后得到的直线段,进行直线拟合,根据每条直线段中保存的像素点位置信息,确定属于当前直线段的小段,然后计算这些小段的斜率均值,得到当前直线段的斜率,并根据起点、中点、终点坐标分别求截距,得到平均截距,以此确定每条轮廓上直线段的线路方程,完成直线拟合。
更进一步的,计算平均线宽的过程如下:
针对分段分析后每条轮廓上的每个直线段,首先依据步骤S33得到的线路方程确定其对应法线的斜率,然后任选其中一像素点,确定该像素点处的法线方程,再获取该像素点法线上与其相邻的像素点的亮度,确定亮度值高的法线方向上的截距变化方向,再根据截距变化方向和斜率相似度找到首条与其斜率相近的直线段,然后基于两条直线段的线路特征,计算得到两条直线段的距离当一条轮廓上的所有直线段都遍历完后,取所有距离的平均值,作为线路的平均线宽:
其中,两条直线段的线路方程分别为A1x+B1y+C1=0,A2x+B2y+C2=0;A1、A2、B1、B2、C1和C2分别为常量;
计算线路最大或最小线宽的具体过程如下:
针对分段分析后每条轮廓上的每个凹凸段,基于当前凹凸段起点和终点的位置信息,计算与首尾两点连线垂直的法线的斜率,针对凹凸段上每个像素点,结合其位置坐标得到该点的法线方程,然后沿着到另一边轮廓的法线方向,从该像素点开始遍历,直至遇到另一边轮廓上的点后停止,该像素点与停止处的像素点的距离,即为当前点到铜线另一边轮廓的距离;在计算完所有凹凸段上的像素点对应的线宽距离后,得到线路的最大或最小线宽距离。
本发明的第二目的通过下述技术方案实现:一种基于超像素的柔性IC基板线宽检测装置,包括:
获取模块,用于获取柔性IC封装基板图像;
预处理模块,用于针对获取柔性IC封装基板图像进行预处理;
分割模块,针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图;
轮廓提取模块,用于针对超像素分割图,依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
线路类型识别模块,用于针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
平均线宽计算模块,用于针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
最大最小线宽计算模块,用于针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
本发明的第三目的通过下述技术方案实现:一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现本发明第一目的所述的基于超像素的柔性IC基板线宽检测方法。
本发明的第四目的通过下述技术方案实现:一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现本发明第一目的所述的基于超像素的柔性IC基板线宽检测方法。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明基于超像素的柔性IC基板线宽检测方法,首先针对于柔性IC封装基板图像进行预处理,然后采用超像素分割算法分割图像,得到超像素分割图,基于铜面边缘的超像素,得到铜面区域的轮廓图;接着采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;基于各条轮廓中的各直线段,得到各轮廓所属铜线的平均线宽;基于各条轮廓中的凹凸段得到线路的最大最小线宽。由上述可知,本发明方法基于超像素算法分割柔性基板图像,能有效减少柔性IC基板中纹理对轮廓提取的干扰,获得精确的铜面边缘,而根据分段拟合法对轮廓进行直线拟合和线段分类后,便于高效计算线路线宽信息,整体上,本发明方法解决了现有技术中柔性IC封装基板轮廓提取精度低、线宽计算效率低的问题。
(2)本发明基于超像素的柔性IC基板线宽检测方法中,基于改进的FLIC超像素分割算法对图像进行分割处理,其中,首先采用FLIC超像素分割算法对预处理后的图像进行分割处理,得到初始的超像素分割图,从中筛选并修正其中同时包含铜面区域、非铜面区域的不合格超像素,得到初次修正后的超像素分割图;初次修正后的超像素分割图,采用限制性局部搜索法优化超像素的边界,得到二次修正后的超像素分割图,作为最终超像素分割图。基于本发明方法上述改进的FLIC超像素分割算法,能够将不合格的超像素剔除掉,因此能够更加准确的对图像进行分割处理,从而更加精确的提取出柔性IC封装基板中的轮廓。
附图说明
图1是本发明方法流程图。
图2是柔性IC封装基板的原始图像。
图3是柔性IC封装基板的预处理图。
图4是柔性IC封装基板的超像素分割图。
图5是柔性IC封装基板的轮廓图。
图6是柔性IC封装基板的分类后的轮廓图。
图7是柔性IC封装基板的线宽检测结果。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例公开了基于超像素的柔性IC基板线宽检测方法,该方法可以通过计算机等智能设备进行执行,如图1所示,步骤包括:
步骤S1、获取柔性IC封装基板图像,采用高斯滤波和引导滤波综合的方法对其进行预处理。
本实施例中,获取到的柔性IC封装基板图像如图2中所示。在本实施例中,对于柔性IC封装基板图像进行滤波处理的过程如下:
首先对柔性IC封装基板图像进行高斯滤波,然后将高斯滤波图作为引导滤波的输入图,将未滤波的原始图像作为引导滤波的引导图,进行引导滤波,由此得到预处理图,如图3所示;其中,高斯滤波中模板的大小为5×5,引导滤波中窗口半径大小为6,正则系数为0.1。
步骤S2、针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图,然后依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图。
在本实施例中,步骤S2采用改进的FLIC算法得到超像素分割图,以及在超像素基础上得到轮廓图的具体过程如下:
步骤S21、采用FLIC超像素分割算法对预处理后的图像进行分割,得到初始的超像素分割图。
步骤S211、针对预处理后的图像,根据设定的超像素个数K将图像等分为K个正方形网格,每个网格对应一个超像素Sk,k=0,1,…,K-1,选取像素点的CIELab颜色空间的通道值和x-y坐标下的位置信息构成5维特征{l,a,b,x,y},然后计算每个超像素Sk中所有像素点的5维特征均值{lk,ak,bk,xk,yk},作为当前超像素的种子点的特征;进入步骤S212;
步骤S212、针对每个超像素,在其最小外包矩形中依次进行前向、后向的遍历,每遍历一个像素点时,判断当前像素点所属超像素类别是否与其四邻域像素点的超像素类别一致,若某个邻域像素点属于其他的超像素,则计算当前像素点到邻域点所属超像素的种子点的特征距离D,最终把当前像素点归类至与其特征距离最近的超像素中,每更新一次超像素类别,则重新计算涉及变化的两类超像素的种子点特征;重复本步骤2次,得到初始的超像素分割图;其中:
在本实施例中,m=5,K=289。
步骤S22、针对步骤S21所得的初始超像素分割图,筛选并修正其中同时包含铜面区域、非铜面区域的不合格超像素,得到初次修正后的超像素分割图;具体如下:
其中,颜色特征为CIELab颜色空间的三个通道值以及灰度空间的灰度值,分别对应l、a、b、g,li,ai,bi,gi分别对应像素点i的颜色特征值,lk,ak,bk,gk分别对应超像素Sk的颜色特征均值;gi表示像素i在灰度空间的灰度值,gk表示超像素Sk在灰度空间的平均灰度值,Nk表示超像素Sk包含的像素点个数。
在本实施例中,Tintra=10。
步骤S23、针对步骤S22所得初次修正后的超像素分割图,采用限制性局部搜索法优化超像素的边界,得到二次修正后的超像素分割图,作为最终超像素分割图,具体过程如下:
步骤S231、针对步骤S22得到的初次修正后的超像素分割图,建立待优化的超像素边界集Bob;具体为:
首先,针对步骤S1所得的预处理图,通过多次改变FLIC算法中的初始网格位置,分别进行超像素分割,得到多种不同的超像素分割结果;然后,获取步骤S22所得的初次修正后的超像素分割图中的超像素边界点,判断边界像素点在其它超像素分割结果中是否也位于超像素边界上,若至少有一次是,则将该超像素边界点归入待优化的超像素边界集Bob中。
在本实施例中,上述通过将所有网格分别往左、右、上、下移动一定距离s,来多次改变FLIC算法中的初始网格位置,距离s可以设定为1~S的随机数;超像素边界点为像素点八邻域中至少有一个邻域像素点属于其它超像素的像素点。
步骤S233、针对待优化超像素边界点及其局部邻域集Adi中的像素点,结合梯度特征fedgei和连通性fconti,计算边界相关度fi,若局部邻域集Adi中存在边界相关度大于当前边界点的像素点,则将该邻域像素点作为新的超像素边界点,否则不改变当前边界点,由此得到二次修正后的超像素分割图,作为最终的超像素分割图,如图4中所示;其中:
fi=fconti*fedgei
其中,梯度特征fedgei为像素点i在二像素邻域范围内的相对梯度,ei为像素点i通过Sobel算子计算得到的梯度值,emin,emax分别对应二像素邻域范围内像素点的梯度最小值与最大值;连通性fconti通过计算更新后原超像素边界点的八邻域中孤立像素点数目的变化,来判断超像素边界的连续性是否受影响,若更新边界后孤立像素点数目增多,说明出现了断线,fconti=0,否则fconti=1。
针对步骤S23得到的最终超像素分割图,依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;具体过程为:
步骤S241、针对步骤S23得到的最终超像素分割图,依据亮度信息找出位于铜面边缘处的超像素,若某一超像素的邻接超像素中,既有亮度均值高于设定的高阈值Tl2,也有亮度均值小于设定的低阈值Tl1的超像素,则判定该超像素位于铜面边缘处。
在本实施例中,高阈值Tl2大于低阈值Tl1,低阈值Tl1可以设置为10,高阈值Tl2可以设置为50。
步骤S242、针对步骤S241得到的铜面边缘处的超像素,获取其落于铜面边缘上的超像素边界点,首先根据步骤S231中所述方法确定超像素边界点,然后分析这些边界点八邻域的像素点,若既有亮度值大于设定的低阈值Tl1,也有亮度值小于Tl1的邻域像素点,则判定该超像素边界点为铜面边缘上处的边界点。
步骤S243、连接步骤S242得到的位于铜面边缘处的超像素边界点,得到连续的轮廓,并保存像素点的信息,具体为:
步骤S2431、针对步骤S242得到的铜面边缘处边界点,构成二值图,首先开始行扫描,找到每行的首个边界点,继续在该边界点的八邻域内逆时针查找是否存在另一边界点,若存在则继续在另一边界点的八邻域内查找新的边界点;
步骤S2432、重复步骤S2431的八邻域搜寻,直至遇到二值图的边缘或边界点的八邻域内不存在新边界点后,开始反向的八邻域搜寻,在下一次遇到边缘或八邻域中不存在边界点后,继续反向遍历,直至遇到首个边界点的邻域点后停止,从而获得一条轮廓上所有的像素点;
步骤S2433、开始下一轮的行扫描,重复步骤S2431和步骤S2432,由此连接所有轮廓,并保存像素点的信息;
步骤S244、针对步骤S243得到的连续轮廓,根据保存的像素点信息,首先找到每条轮廓上位于边缘处的反向边界点,以该点为轮廓起始点,然后找到下一个反向边界点,作为轮廓的终止点,然后保存起始点到终止点的像素点信息,得到最终的轮廓图,如图5中所示。
步骤S3、针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型。
在本实施例中,本步骤S3中,针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,首先按设定步长划分为若干小段,设定步长可以设置为20个像素点,然后计算每小段的线路特征,依据每小段与相邻小段的线路特征关系,识别每条轮廓包含的线路类型,线路类型包括直线段、曲线段、拐角段和凹凸段,并对直线段进行拟合。其中,采用分段拟合法对轮廓进行直线拟合和线段分类的具体过程如下:
步骤S31、针对轮廓图中的每条轮廓,按设定步长划分为若干小段Lt,t=0,1,…,每次选取Lt,Lt+1两个小段,根据Lt的首尾点计算斜率k1和倾斜角θ1,Lt中点和Lt+1中点计算斜率k2和倾斜角θ2,Lt+1的首尾点计算斜率k3和倾斜角θ3,Lt的起点和Lt+1的终点计算斜率k4和倾斜角θ4;
若同时满足|θ4-θ1|<θT、|θ4-θ2|<θT、|θ4-θ3|<θT,则将Lt,Lt+1两个小段的线路判定为直线段,取上述斜率k1、k2、k3和k4均值作为该直线段的线路特征,否则为非直线段,由此得到粗分类后的线段L1t,t=0,1,…。
在本实施例中,上述θT为设定的倾斜角偏差阈值,可以设置为10。
步骤S32、基于步骤S31粗分类后得的每条线段L1t,结合其与相邻线段L1t-1、L1t+1的线路特征关系,进一步识别每条轮廓包含的线路类型,并保存不同类别线段中的像素点位置信息,具体过程为:
若当前线段L1t为直线段,与相邻线段间的倾斜角同时满足|θ1t-1-θ1t|<θT和|θ1t+1-θ1t|<θT,并且L1t-1为直线段,则引入更前的线段L1t-2计算倾斜角偏差,若满足|2θ1t-θ1t-1-θ1t-2|<θT,则将L1t段合并至L1t-1所属的直线段中,更新直线段的终点为L1t段的终点,否则认为L1t段为新的直线段,并保存其起点和终点;
对于未被判定为直线段的剩余线段,若当前段L1t与相邻段间的倾斜角满足|θ1t-1-θ1t|>θT或|θ1t+1-θ1t|>θT,并且满足|θ1t+1-θ1t-1|>θT,线段L1t-1与线段L1t+1的延伸方向相反,则判定L1t为拐角段,保存其起点和终点;
对于未被判定直线段和拐角段的剩余线段,若当前段L1t为与相邻段间的倾斜角满足|θ1t-1-θ1t|>θT或|θ1t+1-θ1t|>θT时,则判定L1t为凹凸段,保存其起点和终点;
对于未被判定为直线段、拐角段和凹凸段的最终剩余的线段,将其判定为曲线段,并保存其起点和终点,如图6中所示;
上述θ1t-1为当前线段L1t的前一条线段L1t-1的倾斜角、θ1t为当前线段L1t的倾斜角、θ1t+1为当前线段L1t的后一条线段L1t+1的倾斜角、θ1t-2为线段L1t-2的倾斜角;
步骤S33、针对步骤S32进一步识别轮廓线路类型后得到的直线段,进行直线拟合,根据每条直线段中保存的像素点位置信息,确定属于当前直线段的小段,然后计算这些小段的斜率均值,得到当前直线段的斜率,并根据起点、中点、终点坐标分别求截距,得到平均截距,以此确定每条轮廓上直线段的线路方程,完成直线拟合。
步骤S4、针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
本实施例中,上述计算平均线宽的过程如下:
步骤S41、针对分段分析后每条轮廓上的每个直线段,首先依据步骤S33得到的线路方程确定其对应法线的斜率,然后任选其中一像素点,确定该像素点处的法线方程,再获取该像素点法线上与其相邻的像素点的亮度,确定亮度值高的法线方向上的截距变化方向,再根据截距变化方向和斜率相似度找到首条与其斜率相近的直线段,然后基于两条直线段的线路特征,包括两条直线段的斜率和像素点坐标,计算得到两条直线段的距离当一条轮廓上的所有直线段都遍历完后,取所有距离的平均值,作为线路的平均线宽:
其中,两条直线段的线路方程分别为A1x+B1y+C1=0,A2x+B2y+C2=0;A1、A2、B1、B2、C1和C2分别为常量,通过两条直线段的线路方程可以获取到。
步骤S42、计算线路最大或最小线宽的具体过程如下:
针对分段分析后每条轮廓上的每个凹凸段,基于当前凹凸段起点和终点的位置信息,计算与首尾两点连线垂直的法线的斜率,针对凹凸段上每个像素点,结合其位置坐标得到该点的法线方程,然后沿着到另一边轮廓的法线方向,从该像素点开始遍历,直至遇到另一边轮廓上的点后停止,该像素点与停止处的像素点的距离,即为当前点到铜线另一边轮廓的距离;在计算完所有凹凸段上的像素点对应的线宽距离后,得到线路的最大或最小线宽距离,线宽检测结果如图7中所示。
本实施例方法基于改进的超像素算法分割柔性基板图像,能有效减少柔性IC基板中纹理对轮廓提取的干扰,获得精确的铜面边缘,而根据分段拟合法对轮廓进行直线拟合和线段分类后,便于高效计算线路线宽信息。
本领域技术人员可以理解,实现本实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。应当注意,尽管在附图中以特定顺序描述了本实施例1的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序,有些步骤也可以同时执行。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2
本实施例公开了一种基于超像素的柔性IC基板线宽检测装置,包括:
获取模块,用于获取柔性IC封装基板图像;
预处理模块,用于针对获取柔性IC封装基板图像进行预处理;
分割模块,针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图;
轮廓提取模块,用于针对超像素分割图,依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
线路类型识别模块,用于针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
平均线宽计算模块,用于针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
最大最小线宽计算模块,用于针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
本实施例上述各个模块的具体实现可以参见上述实施例1,在此不再一一赘述。需要说明的是,本实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
实施例3
本实施例公开了一种存储介质,存储有程序,所述程序被处理器执行时,实现实施例1所述的基于超像素的柔性IC基板线宽检测方法,如下:
获取柔性IC封装基板图像,并且进行预处理;
针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图,然后依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
本实施例上述各个过程的具体实现可以参见上述实施例1,在此不再一一赘述。
在本实施例中,存储介质可以是磁盘、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、U盘、移动硬盘等介质。
实施例4
本实施例公开了一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现实施例1所述的基于超像素的柔性IC基板线宽检测方法,如下:
获取柔性IC封装基板图像,并且进行预处理;
针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图,然后依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
本实施例上述各个过程的具体实现可以参见上述实施例1,在此不再一一赘述。
本实施例中,计算设备可以是台式电脑、笔记本电脑、智能手机、PDA手持终端、平板电脑等终端设备。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种基于超像素的柔性IC基板线宽检测方法,其特征在于,步骤包括:
获取柔性IC封装基板图像,并且进行预处理;
针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图,然后依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
2.根据权利要求1所述的基于超像素的柔性IC基板线宽检测方法,其特征在于,针对于预处理后的图像,采用改进的FLIC超像素分割算法对其进行分割处理,具体过程如下:
步骤S21、采用FLIC超像素分割算法对预处理后的图像进行分割,得到初始的超像素分割图;
步骤S22、针对步骤S21所得的初始超像素分割图,筛选并修正其中同时包含铜面区域、非铜面区域的不合格超像素,得到初次修正后的超像素分割图;
步骤S23、针对步骤S22所得初次修正后的超像素分割图,采用限制性局部搜索法优化超像素的边界,得到二次修正后的超像素分割图,作为最终超像素分割图。
3.根据权利要求2所述的基于超像素的柔性IC基板线宽检测方法,其特征在于,步骤S21中得到初始的超像素分割图像的具体过程如下:
步骤S211、针对预处理后的图像,根据设定的超像素个数K将图像等分为K个正方形网格,每个网格对应一个超像素Sk,k=0,1,...,K-1,选取像素点的CIELab颜色空间的通道值和x-y坐标下的位置信息构成5维特征{l,a,b,x,y},然后计算每个超像素Sk中所有像素点的5维特征均值{lk,ak,bk,xk,yk},作为当前超像素的种子点的特征;进入步骤S212;
步骤S212、针对每个超像素,在其最小外包矩形中依次进行前向、后向的遍历,每遍历一个像素点时,判断当前像素点所属超像素类别是否与其四邻域像素点的超像素类别一致,若某个邻域像素点属于其他的超像素,则计算当前像素点到邻域点所属超像素的种子点的特征距离D,最终把当前像素点归类至与其特征距离最近的超像素中,每更新一次超像素类别,则重新计算涉及变化的两类超像素的种子点特征;重复本步骤2次,得到初始的超像素分割图;其中:
步骤S22中,得到初次修正后的超像素分割图的具体过程如下:
其中,gi表示像素i在灰度空间的灰度值,gk表示超像素Sk在灰度空间的平均灰度值,Nk表示超像素Sk包含的像素点个数;
步骤S23中,得到二次修正后的超像素分割图的具体过程如下:
步骤S231、针对步骤S22得到的初次修正后的超像素分割图,建立待优化的超像素边界集Bob;具体为:
首先,针对步骤S1所得的预处理图,通过多次改变FLIC算法中的初始网格位置,分别进行超像素分割,得到多种不同的超像素分割结果;然后,获取步骤S22所得的初次修正后的超像素分割图中的超像素边界点,判断边界像素点在其它超像素分割结果中是否也位于超像素边界上,若至少有一次是,则将该超像素边界点归入待优化的超像素边界集Bob中;
步骤S233、针对待优化超像素边界点及其局部邻域集Adi中的像素点,结合梯度特征fedgei和连通性fconti,计算边界相关度fi,若局部邻域集Adi中存在边界相关度大于当前边界点的像素点,则将该邻域像素点作为新的超像素边界点,否则不改变当前边界点,由此得到二次修正后的超像素分割图,作为最终的超像素分割图;其中:
fi=fconti*fedgei
其中,梯度特征fedgei为像素点i在二像素邻域范围内的相对梯度,ei为像素点i通过Sobel算子计算得到的梯度值,emin,emax分别对应二像素邻域范围内像素点的梯度最小值与最大值;连通性fconti通过计算更新后原超像素边界点的八邻域中孤立像素点数目的变化,来判断超像素边界的连续性是否受影响,若更新边界后孤立像素点数目增多,说明出现了断线,fconti=0,否则fconti=1。
4.根据权利要求3所述的基于超像素的柔性IC基板线宽检测方法,其特征在于,针对步骤S23得到的最终超像素分割图,依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;具体过程为:
步骤S241、针对步骤S23得到的最终超像素分割图,依据亮度信息找出位于铜面边缘处的超像素,若某一超像素的邻接超像素中,既有亮度均值高于设定的高阈值Tl2,也有亮度均值小于设定的低阈值Tl1的超像素,则判定该超像素位于铜面边缘处;
步骤S242、针对步骤S241得到的铜面边缘处的超像素,获取其落于铜面边缘上的超像素边界点,首先根据步骤S231中所述方法确定超像素边界点,然后分析这些边界点八邻域的像素点,若既有亮度值大于设定的低阈值Tl1,也有亮度值小于Tl1的邻域像素点,则判定该超像素边界点为铜面边缘上处的边界点;
步骤S243、连接步骤S242得到的位于铜面边缘处的超像素边界点,得到连续的轮廓,并保存像素点的信息,具体为:
步骤S2431、针对步骤S242得到的铜面边缘处边界点,构成二值图,首先开始行扫描,找到每行的首个边界点,继续在该边界点的八邻域内逆时针查找是否存在另一边界点,若存在则继续在另一边界点的八邻域内查找新的边界点;
步骤S2432、重复步骤S2431的八邻域搜寻,直至遇到二值图的边缘或边界点的八邻域内不存在新边界点后,开始反向的八邻域搜寻,在下一次遇到边缘或八邻域中不存在边界点后,继续反向遍历,直至遇到首个边界点的邻域点后停止,从而获得一条轮廓上所有的像素点;
步骤S2433、开始下一轮的行扫描,重复步骤S2431和步骤S2432,由此连接所有轮廓,并保存像素点的信息;
步骤S244、针对步骤S243得到的连续轮廓,根据保存的像素点信息,首先找到每条轮廓上位于边缘处的反向边界点,以该点为轮廓起始点,然后找到下一个反向边界点,作为轮廓的终止点,然后保存起始点到终止点的像素点信息,得到最终的轮廓图。
5.根据权利要求1所述的基于超像素的柔性IC基板线宽检测方法,其特征在于,针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,首先按设定步长划分为若干小段,然后计算每小段的线路特征,依据每小段与相邻小段的线路特征关系,识别每条轮廓包含的线路类型,线路类型包括直线段、曲线段、拐角段和凹凸段。
6.根据权利要求5所述的基于超像素的柔性IC基板线宽检测方法,其特征在于,采用分段拟合法对轮廓进行直线拟合和线段分类的具体过程如下:
步骤S31、针对轮廓图中的每条轮廓,按设定步长划分为若干小段Lt,t=0,1,...,每次选取Lt,Lt+1两个小段,根据Lt的首尾点计算斜率k1和倾斜角θ1,Lt中点和Lt+1中点计算斜率k2和倾斜角θ2,Lt+1的首尾点计算斜率k3和倾斜角θ3,Lt的起点和Lt+1的终点计算斜率k4和倾斜角θ4;
若同时满足|θ4-θ1|<θT、|θ4-θ2|<θT、|θ4-θ3|<θT,则将Lt,Lt+1两个小段的线路判定为直线段,取上述斜率k1、k2、k3和k4均值作为该直线段的线路特征,否则为非直线段,由此得到粗分类后的线段L1t,t=0,1,...;
步骤S32、基于步骤S31粗分类后得的每条线段L1t,结合其与相邻线段L1t-1、L1t+1的线路特征关系,进一步识别每条轮廓包含的线路类型,并保存不同类别线段中的像素点位置信息,具体过程为:
若当前线段L1t为直线段,与相邻线段间的倾斜角同时满足|θ1t-1-θ1t|<θT和|θ1t+1-θ1t|<θT,并且L1t-1为直线段,则引入更前的线段L1t-2计算倾斜角偏差,若满足|2θ1t-θ1t-1-θ1t-2|<θT,则将L1t段合并至L1t-1所属的直线段中,更新直线段的终点为L1t段的终点,否则认为L1t段为新的直线段,并保存其起点和终点;
对于未被判定为直线段的剩余线段,若当前段L1t与相邻段间的倾斜角满足|θ1t-1-θ1t|>θT或|θ1t+1-θ1t|>θT,并且满足|θ1t+1-θ1t-1|>θT,线段L1t-1与线段L1t+1的延伸方向相反,则判定L1t为拐角段,保存其起点和终点;
对于未被判定直线段和拐角段的剩余线段,若当前段L1t为与相邻段间的倾斜角满足|θ1t-1-θ1t|>θT或|θ1t+1-θ1t|>θT时,则判定L1t为凹凸段,保存其起点和终点;
对于未被判定为直线段、拐角段和凹凸段的最终剩余的线段,将其判定为曲线段,并保存其起点和终点;
上述θ1t-1为当前线段L1t的前一条线段L1t-1的倾斜角、θ1t为当前线段L1t的倾斜角、θ1t+1为当前线段L1t的后一条线段L1t+1的倾斜角、θ1t-2为线段L1t-2的倾斜角;
步骤S33、针对步骤S32进一步识别轮廓线路类型后得到的直线段,进行直线拟合,根据每条直线段中保存的像素点位置信息,确定属于当前直线段的小段,然后计算这些小段的斜率均值,得到当前直线段的斜率,并根据起点、中点、终点坐标分别求截距,得到平均截距,以此确定每条轮廓上直线段的线路方程,完成直线拟合。
7.根据权利要求6所述的基于超像素的柔性IC基板线宽检测方法,其特征在于,计算平均线宽的过程如下:
针对分段分析后每条轮廓上的每个直线段,首先依据步骤S33得到的线路方程确定其对应法线的斜率,然后任选其中一像素点,确定该像素点处的法线方程,再获取该像素点法线上与其相邻的像素点的亮度,确定亮度值高的法线方向上的截距变化方向,再根据截距变化方向和斜率相似度找到首条与其斜率相近的直线段,然后基于两条直线段的线路特征,计算得到两条直线段的距离当一条轮廓上的所有直线段都遍历完后,取所有距离的平均值,作为线路的平均线宽:
其中,两条直线段的线路方程分别为A1x+B1y+C1=0,A2x+B2y+C2=0;A1、A2、B1、B2、C1和C2分别为常量;
计算线路最大或最小线宽的具体过程如下:
针对分段分析后每条轮廓上的每个凹凸段,基于当前凹凸段起点和终点的位置信息,计算与首尾两点连线垂直的法线的斜率,针对凹凸段上每个像素点,结合其位置坐标得到该点的法线方程,然后沿着到另一边轮廓的法线方向,从该像素点开始遍历,直至遇到另一边轮廓上的点后停止,该像素点与停止处的像素点的距离,即为当前点到铜线另一边轮廓的距离;在计算完所有凹凸段上的像素点对应的线宽距离后,得到线路的最大或最小线宽距离。
8.一种基于超像素的柔性IC基板线宽检测装置,其特征在于,包括:
获取模块,用于获取柔性IC封装基板图像;
预处理模块,用于针对获取柔性IC封装基板图像进行预处理;
分割模块,针对于预处理后的图像,采用超像素分割算法分割图像,得到超像素分割图;
轮廓提取模块,用于针对超像素分割图,依据亮度信息确定位于铜面边缘的超像素,连接落于铜面边缘上的超像素边界点,得到铜面区域的轮廓图;
线路类型识别模块,用于针对于轮廓图中的每条轮廓,采用分段拟合法对其进行直线拟合和线段分类,识别每条轮廓包含的线路类型;
平均线宽计算模块,用于针对于各条轮廓中的各直线段,结合斜率和截距找到线路另一边轮廓上的与之匹配的直线段,计算两条直线段的距离;遍历各条轮廓中所有的直线段,基于上述每次计算得到的两条直线段的距离计算平均值,得到各轮廓所属铜线的平均线宽;
最大最小线宽计算模块,用于针对各条轮廓中的各凹凸段,逐点计算每个像素点到铜线另一边轮廓的距离,得到线路的最大最小线宽。
9.一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1~7中任一项所述的基于超像素的柔性IC基板线宽检测方法。
10.一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1~7中任一项所述的基于超像素的柔性IC基板线宽检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240304.5A CN112991283A (zh) | 2021-03-04 | 2021-03-04 | 基于超像素的柔性ic基板线宽检测方法、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240304.5A CN112991283A (zh) | 2021-03-04 | 2021-03-04 | 基于超像素的柔性ic基板线宽检测方法、介质和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112991283A true CN112991283A (zh) | 2021-06-18 |
Family
ID=76352758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110240304.5A Pending CN112991283A (zh) | 2021-03-04 | 2021-03-04 | 基于超像素的柔性ic基板线宽检测方法、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112991283A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113610761A (zh) * | 2021-07-06 | 2021-11-05 | 上海望友信息科技有限公司 | 判断断头线的方法、装置、电子设备及存储介质 |
CN113888446A (zh) * | 2021-11-01 | 2022-01-04 | 金成技术股份有限公司 | 一种钣金结构件折弯线智能检测方法 |
CN114972575A (zh) * | 2022-04-08 | 2022-08-30 | 湖南科技大学 | 一种基于轮廓边缘的直线拟合算法 |
CN116309386A (zh) * | 2023-02-27 | 2023-06-23 | 南京航空航天大学 | 一种光照复杂条件下的空间目标可见光图像线段检测方法 |
CN116664552A (zh) * | 2023-07-24 | 2023-08-29 | 凯尔菱电(山东)电梯有限公司 | 基于视频图像分析的电梯门异常检测方法 |
CN116912273A (zh) * | 2023-09-13 | 2023-10-20 | 国网山东省电力公司莱芜供电公司 | 基于三维gis的输电线路跨越施工方案可视化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103512501A (zh) * | 2013-09-22 | 2014-01-15 | 电子科技大学 | 一种陶瓷基片表面的微带线电路线宽制造误差检测方法 |
US9858476B1 (en) * | 2016-06-30 | 2018-01-02 | Konica Minolta Laboratory U.S.A., Inc. | Method for recognizing table, flowchart and text in document images |
CN109584207A (zh) * | 2018-10-19 | 2019-04-05 | 华南理工大学 | 一种测量高密度柔性印制基板线宽或线距最小距离的方法 |
CN109658381A (zh) * | 2018-11-16 | 2019-04-19 | 华南理工大学 | 一种基于超像素的柔性ic封装基板的铜面缺陷检测方法 |
-
2021
- 2021-03-04 CN CN202110240304.5A patent/CN112991283A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103512501A (zh) * | 2013-09-22 | 2014-01-15 | 电子科技大学 | 一种陶瓷基片表面的微带线电路线宽制造误差检测方法 |
US9858476B1 (en) * | 2016-06-30 | 2018-01-02 | Konica Minolta Laboratory U.S.A., Inc. | Method for recognizing table, flowchart and text in document images |
CN109584207A (zh) * | 2018-10-19 | 2019-04-05 | 华南理工大学 | 一种测量高密度柔性印制基板线宽或线距最小距离的方法 |
CN109658381A (zh) * | 2018-11-16 | 2019-04-19 | 华南理工大学 | 一种基于超像素的柔性ic封装基板的铜面缺陷检测方法 |
Non-Patent Citations (1)
Title |
---|
周惠芝: "基于超像素分割的高密度柔性基板表面线路缺陷检测研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113610761A (zh) * | 2021-07-06 | 2021-11-05 | 上海望友信息科技有限公司 | 判断断头线的方法、装置、电子设备及存储介质 |
CN113610761B (zh) * | 2021-07-06 | 2023-11-17 | 上海望友信息科技有限公司 | 判断断头线的方法、装置、电子设备及存储介质 |
CN113888446A (zh) * | 2021-11-01 | 2022-01-04 | 金成技术股份有限公司 | 一种钣金结构件折弯线智能检测方法 |
CN114972575A (zh) * | 2022-04-08 | 2022-08-30 | 湖南科技大学 | 一种基于轮廓边缘的直线拟合算法 |
CN116309386A (zh) * | 2023-02-27 | 2023-06-23 | 南京航空航天大学 | 一种光照复杂条件下的空间目标可见光图像线段检测方法 |
CN116309386B (zh) * | 2023-02-27 | 2024-02-20 | 南京航空航天大学 | 一种光照复杂条件下的空间目标可见光图像线段检测方法 |
CN116664552A (zh) * | 2023-07-24 | 2023-08-29 | 凯尔菱电(山东)电梯有限公司 | 基于视频图像分析的电梯门异常检测方法 |
CN116664552B (zh) * | 2023-07-24 | 2023-09-29 | 凯尔菱电(山东)电梯有限公司 | 基于视频图像分析的电梯门异常检测方法 |
CN116912273A (zh) * | 2023-09-13 | 2023-10-20 | 国网山东省电力公司莱芜供电公司 | 基于三维gis的输电线路跨越施工方案可视化方法 |
CN116912273B (zh) * | 2023-09-13 | 2023-12-12 | 国网山东省电力公司莱芜供电公司 | 基于三维gis的输电线路跨越施工方案可视化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112991283A (zh) | 基于超像素的柔性ic基板线宽检测方法、介质和设备 | |
CN113781402B (zh) | 芯片表面划痕缺陷的检测方法、装置和计算机设备 | |
CN110866924B (zh) | 一种线结构光中心线提取方法及存储介质 | |
CN107680054B (zh) | 雾霾环境下多源图像融合方法 | |
Khan et al. | An efficient contour based fine-grained algorithm for multi category object detection | |
CN111415363B (zh) | 一种图像边缘识别方法 | |
CN110097596B (zh) | 一种基于opencv的目标检测系统 | |
CN111179243A (zh) | 一种基于计算机视觉的小尺寸芯片裂纹检测方法及系统 | |
CN107784669A (zh) | 一种光斑提取及其质心确定的方法 | |
CN106846339A (zh) | 一种图像检测方法和装置 | |
CN109658381A (zh) | 一种基于超像素的柔性ic封装基板的铜面缺陷检测方法 | |
EP3617938B1 (en) | Lane line processing method and device | |
CN115082466B (zh) | 一种pcb表面焊点缺陷检测方法及系统 | |
Wu et al. | Image segmentation | |
Shi et al. | Shape based local thresholding for binarization of document images | |
CN111354047B (zh) | 一种基于计算机视觉的摄像模组定位方法及系统 | |
CN114863492B (zh) | 一种低质量指纹图像的修复方法及修复装置 | |
US20170178341A1 (en) | Single Parameter Segmentation of Images | |
CN111738931B (zh) | 光伏阵列无人机航拍图像的阴影去除算法 | |
CN113239733A (zh) | 一种多车道车道线检测方法 | |
CN113033558A (zh) | 一种用于自然场景的文本检测方法及装置、存储介质 | |
CN111868783B (zh) | 基于边界提取的区域合并图像分割算法 | |
CN109840498B (zh) | 一种实时行人检测方法及神经网络、目标检测层 | |
Tabatabaei et al. | A novel method for binarization of badly illuminated document images | |
Cheng et al. | Power pole detection based on graph cut |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210618 |
|
RJ01 | Rejection of invention patent application after publication |