一种基于FPGA的PCB板自动化缺陷检测方法

文档序号:37584156发布日期:2024-04-18 12:09阅读:7来源:国知局
一种基于FPGA的PCB板自动化缺陷检测方法

本发明属于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中进行canny算法计算的方法为:

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变换检测直线的方法为:


技术总结
本发明属于PCB板缺陷检测技术领域,具体涉及一种基于FPGA的PCB板自动化缺陷检测方法,包括下列步骤:进行Canny算法进行优化,通过自定义其中的函数,使PCB板图像的边缘检测更加精确化;对PCB板图像进行增强;使用Radon算法对PCB板图像进行调整角度。本发明实现了模板图与缺陷图之间的精确匹配,采用Radon算法对有偏角的图像进行倾斜校正,利用差影法将模板图与缺陷图进行比对,比对结果做图像增强,同时改进后的Canny算法对PCB板图像进行边缘提取,配合二值化算法得到更加清晰的图像边缘轮廓,最终实现PCB板上断路、短路、凹陷、凸起等的缺陷定位。

技术研发人员:张会新,邰文婕,亓岳岩
受保护的技术使用者:中北大学
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1