System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于pcb板缺陷检测,具体涉及一种基于fpga的pcb板自动化缺陷检测方法。
技术介绍
1、随着电子产品的广泛应用,pcb板需求量和复杂性也随之增加,自动化技术显得至关重要,软硬件结合的自动化检测既解决了产品需求,也降低了人力需求。传统的pcb板图像匹配方法采用比较多的是通过hough变换来定位pcb板对角线上的定位孔,然后通过比较与标准图像几何位置的差异,来进行平移、旋转和缩放,从而实现待测图像与标准图像像素的一一对应。通过对hough变换来检测pcb板缺陷在某些情况下并不能取得很好的检测效果,如当放置pcb板的工作台控制精度不够高,或者采集pcb板的摄像头存在晃动、焦距变化等,势必会使采集到的图像存在一定程度的畸变。
技术实现思路
1、针对上述当放置pcb板的工作台控制精度不够高,或者采集pcb板的摄像头存在晃动、焦距变化等,势必会使采集到的图像存在一定程度的畸变的技术问题,本专利技术提供了一种基于fpga的pcb板自动化缺陷检测方法,实现了模板图与缺陷图之间的精确匹配。
2、为了解决上述技术问题,本专利技术采用的技术方案为:
3、一种基于fpga的pcb板自动化缺陷检测方法,包括下列步骤:
4、s1、进行canny算法进行优化,通过自定义其中的函数,使pcb板图像的边缘检测更加精确化;
5、s2、对pcb板图像进行增强;
6、s3、使用radon算法对pcb板图像进行调整角度。
7、所述s1中进
8、s1.1、去噪声:应用高斯滤波来平滑图像,从而实现去除噪声;
9、s1.2、梯度:找寻图像的梯度,计算一阶偏导用于找出灰度值变化较大的像素点,通过sobel算子,设置sobel算子的x和y方向的梯度模板;
10、s1.3、非极大值抑制。
11、所述s1.1中应用高斯滤波来平滑图像的方法为:
12、高斯函数为:
13、先对x方向进行卷积,再对y方向进行卷积,σ表示标准差,得到平滑处理后的图像。
14、所述s1.2中设置sobel算子的x和y方向的梯度模板为:
15、
16、
17、其中,sx为x方向的梯度模板,sy为y方向的梯度模板。
18、所述s1.3中非极大值抑制的方法为:
19、应用非最大抑制技术,来过滤掉非边缘像素,将模糊的边界变得清晰,该过程保留了每个像素点上梯度强度的极大值,过滤掉其他的值;线性插值的公式为:
20、grad1=w*g1+(1-w)g2
21、grad2=w*g3+(1-w)g4
22、其中,w为根据梯度的角度决定的权重大小;
23、由y梯度与x梯度的大小比较,最后根据计算得到的g1、g2、g3、g4和权值w计算梯度方向上的两个值,与中间值进行比较,看是否对中间值进行抑制。
24、所述s2中对pcb板图像进行增强的方法为:
25、首先调用了zeros函数来创建一个1行256列的零矩阵,以此来统计各个灰度值的像素数灰度值范围0-255;将图像的灰度值均匀地分布在0-255之间,来将图像变得更加清晰;同时,需要将小于80的灰度值设置为0,大于150的灰度值设置为255,则得到以下关系:
26、
27、化简后得:
28、
29、其中,a为原图像的灰度值,b为增强图像的灰度值。
30、所述s3中使用radon算法对pcb板图像进行调整角度的方法为:使用radon算法调整角度,radon函数对应格式为:
31、r,xp]radon(i,theta)
32、其中,r为线积分值,xp为径向坐标,theta为投影角度;
33、将图像看成二维函数f(x,y),f(x,y)在垂直方向上的线性积分是其在x轴上的投影;f(x,y)在水平方向上的线积分就是其在y轴上的投影,通过这些投影,获取图像在指定方向上的突出特性;
34、将图像中心设为原点,用p和θ代替a、b,图像在空间的投影,用参数表示直线,θ假定有一个函数f(x,y)代表图像的像素,该函数过直线l区域的积分即为:
35、
36、其中,p为直线到原点的距离,θ为某一特定方向,ds是该直线的微分;再使用radon变换检测直线。
37、所述使用radon变换检测直线的方法为:
38、s3.1、使用边缘检测函数edge函数计算二值图像,
39、i3=edge(i2,'canny')
40、其中,i3表示二值图像,i2表示原始图像;
41、s3.2、计算二值图像的radon变换;
42、theta=1:180
43、其中,theta表示要投影方向的角度;
44、[r,~]=radon(i3,theta)
45、沿某个方向theta做radon变换,结果是向量;
46、j=c,矩阵r的列标j就是对应的投影角度,倾斜角=90-c;
47、s3.3、寻找radon变换的局部极大值,所述极大值的位置为原始图像中直线的位置;[~,c]=find(r>=max(max(r))),检索矩阵r中最大值所在位置,提取行列标。
48、本专利技术与现有技术相比,具有的有益效果是:
49、本专利技术实现了模板图与缺陷图之间的精确匹配,采用radon算法对有偏角的图像进行倾斜校正,利用差影法将模板图与缺陷图进行比对,比对结果做图像增强,同时改进后的canny算法对pcb板图像进行边缘提取,配合二值化算法得到更加清晰的图像边缘轮廓,最终实现pcb板上断路、短路、凹陷、凸起等的缺陷定位。
本文档来自技高网...【技术保护点】
1.一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:包括下列步骤:
2.根据权利要求1所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1中进行Canny算法计算的方法为:
3.根据权利要求2所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1.1中应用高斯滤波来平滑图像的方法为:
4.根据权利要求2所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1.2中设置Sobel算子的x和y方向的梯度模板为:
5.根据权利要求2所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1.3中非极大值抑制的方法为:
6.根据权利要求1所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S2中对PCB板图像进行增强的方法为:
7.根据权利要求1所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S3中使用Radon算法对PCB板图像进行调整角度的方法为:使用Radon算法调整角度,Radon函数对应格式为:
8.根据权利要求7所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述使用Radon变换检测直线的方法为:
...【技术特征摘要】
1.一种基于fpga的pcb板自动化缺陷检测方法,其特征在于:包括下列步骤:
2.根据权利要求1所述的一种基于fpga的pcb板自动化缺陷检测方法,其特征在于:所述s1中进行canny算法计算的方法为:
3.根据权利要求2所述的一种基于fpga的pcb板自动化缺陷检测方法,其特征在于:所述s1.1中应用高斯滤波来平滑图像的方法为:
4.根据权利要求2所述的一种基于fpga的pcb板自动化缺陷检测方法,其特征在于:所述s1.2中设置sobel算子的x和y方向的梯度模板为:
5.根据权利要求2所述的一种基于fpga的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。