CN117853478A - 一种基于fpga的pcb板自动化缺陷检测方法 - Google Patents

一种基于fpga的pcb板自动化缺陷检测方法 Download PDF

Info

Publication number
CN117853478A
CN117853478A CN202410142339.9A CN202410142339A CN117853478A CN 117853478 A CN117853478 A CN 117853478A CN 202410142339 A CN202410142339 A CN 202410142339A CN 117853478 A CN117853478 A CN 117853478A
Authority
CN
China
Prior art keywords
image
pcb
gradient
radon
fpga
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
Application number
CN202410142339.9A
Other languages
English (en)
Inventor
张会新
邰文婕
亓岳岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
North University of China
Original Assignee
North University of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by North University of China filed Critical North University of China
Priority to CN202410142339.9A priority Critical patent/CN117853478A/zh
Publication of CN117853478A publication Critical patent/CN117853478A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

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

Description

一种基于FPGA的PCB板自动化缺陷检测方法
技术领域
本发明属于PCB板缺陷检测技术领域,具体涉及一种基于FPGA的PCB板自动化缺陷检测方法。
背景技术
随着电子产品的广泛应用,PCB板需求量和复杂性也随之增加,自动化技术显得至关重要,软硬件结合的自动化检测既解决了产品需求,也降低了人力需求。传统的PCB板图像匹配方法采用比较多的是通过Hough变换来定位PCB板对角线上的定位孔,然后通过比较与标准图像几何位置的差异,来进行平移、旋转和缩放,从而实现待测图像与标准图像像素的一一对应。通过对Hough变换来检测PCB板缺陷在某些情况下并不能取得很好的检测效果,如当放置PCB板的工作台控制精度不够高,或者采集PCB板的摄像头存在晃动、焦距变化等,势必会使采集到的图像存在一定程度的畸变。
发明内容
针对上述当放置PCB板的工作台控制精度不够高,或者采集PCB板的摄像头存在晃动、焦距变化等,势必会使采集到的图像存在一定程度的畸变的技术问题,本发明提供了一种基于FPGA的PCB板自动化缺陷检测方法,实现了模板图与缺陷图之间的精确匹配。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于FPGA的PCB板自动化缺陷检测方法,包括下列步骤:
S1、进行Canny算法进行优化,通过自定义其中的函数,使PCB板图像的边缘检测更加精确化;
S2、对PCB板图像进行增强;
S3、使用Radon算法对PCB板图像进行调整角度。
所述S1中进行Canny算法计算的方法为:
S1.1、去噪声:应用高斯滤波来平滑图像,从而实现去除噪声;
S1.2、梯度:找寻图像的梯度,计算一阶偏导用于找出灰度值变化较大的像素点,通过Sobel算子,设置Sobel算子的x和y方向的梯度模板;
S1.3、非极大值抑制。
所述S1.1中应用高斯滤波来平滑图像的方法为:
高斯函数为:
先对x方向进行卷积,再对y方向进行卷积,σ表示标准差,得到平滑处理后的图像。
所述S1.2中设置Sobel算子的x和y方向的梯度模板为:
其中,Sx为x方向的梯度模板,Sy为y方向的梯度模板。
所述S1.3中非极大值抑制的方法为:
应用非最大抑制技术,来过滤掉非边缘像素,将模糊的边界变得清晰,该过程保留了每个像素点上梯度强度的极大值,过滤掉其他的值;线性插值的公式为:
Grad1=w*g1+(1-w)g2
Grad2=w*g3+(1-w)g4
其中,w为根据梯度的角度决定的权重大小;
由y梯度与x梯度的大小比较,最后根据计算得到的g1、g2、g3、g4和权值w计算梯度方向上的两个值,与中间值进行比较,看是否对中间值进行抑制。
所述S2中对PCB板图像进行增强的方法为:
首先调用了zeros函数来创建一个1行256列的零矩阵,以此来统计各个灰度值的像素数灰度值范围0-255;将图像的灰度值均匀地分布在0-255之间,来将图像变得更加清晰;同时,需要将小于80的灰度值设置为0,大于150的灰度值设置为255,则得到以下关系:
化简后得:
其中,a为原图像的灰度值,b为增强图像的灰度值。
所述S3中使用Radon算法对PCB板图像进行调整角度的方法为:使用Radon算法调整角度,Radon函数对应格式为:
R,xp]radon(I,theta)
其中,R为线积分值,xp为径向坐标,theta为投影角度;
将图像看成二维函数f(x,y),f(x,y)在垂直方向上的线性积分是其在x轴上的投影;f(x,y)在水平方向上的线积分就是其在y轴上的投影,通过这些投影,获取图像在指定方向上的突出特性;
将图像中心设为原点,用p和θ代替a、b,图像在空间的投影,用参数表示直线,θ假定有一个函数f(x,y)代表图像的像素,该函数过直线L区域的积分即为:
其中,p为直线到原点的距离,θ为某一特定方向,ds是该直线的微分;再使用Radon变换检测直线。
所述使用Radon变换检测直线的方法为:
S3.1、使用边缘检测函数edge函数计算二值图像,
I3=edge(I2,'canny')
其中,I3表示二值图像,I2表示原始图像;
S3.2、计算二值图像的Radon变换;
theta=1:180
其中,theta表示要投影方向的角度;
[R,~]=radon(I3,theta)
沿某个方向theta做radon变换,结果是向量;
J=c,矩阵R的列标J就是对应的投影角度,倾斜角=90-c;
S3.3、寻找Radon变换的局部极大值,所述极大值的位置为原始图像中直线的位置;[~,c]=find(R>=max(max(R))),检索矩阵R中最大值所在位置,提取行列标。
本发明与现有技术相比,具有的有益效果是:
本发明实现了模板图与缺陷图之间的精确匹配,采用Radon算法对有偏角的图像进行倾斜校正,利用差影法将模板图与缺陷图进行比对,比对结果做图像增强,同时改进后的Canny算法对PCB板图像进行边缘提取,配合二值化算法得到更加清晰的图像边缘轮廓,最终实现PCB板上断路、短路、凹陷、凸起等的缺陷定位。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本发明Canny算法优化结果对比图;
图2为本发明改进后灰度图像直方图;
图3为本发明的待检测PCB板图;
图4为本发明Radon算法倾斜校正后的PCB板图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制;基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图和实施例,对本发明的具体实施方式做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在本实施例中,包括下列步骤:
步骤一、进行Canny算法进行优化,通过自定义其中的函数,使PCB板图像的边缘检测更加精确化。
1、去噪声:应用高斯滤波来平滑图像,从而实现去除噪声。
高斯函数为:
先对x方向进行卷积,再对y方向进行卷积,得到平滑处理后的图像。
2、梯度:找寻图像的梯度,计算一阶偏导用于找出灰度值变化较大的像素点,通过Sobel算子,设置Sobel算子的x和y方向的梯度模板。
其中,Sx为x方向的梯度模板,Sy为y方向的梯度模板。
3、应用非最大抑制技术,来过滤掉非边缘像素,将模糊的边界变得清晰,该过程保留了每个像素点上梯度强度的极大值,过滤掉其他的值。线性插值的公式为:
Grad1=w*g1+(1-w)g2
Grad2=w*g3+(1-w)g4
其中,w为根据梯度的角度决定的权重大小。
由y梯度与x梯度的大小比较,最后根据计算得到的g1、g2、g3、g4和权值w计算梯度方向上的两个值,与中间值进行比较,看是否对中间值进行抑制。得出的结果如图1所示,可以明显看出来对边缘检测更加精确。
步骤二、对PCB板图像进行增强。
首先调用了zeros函数来创建一个1行256列的零矩阵,以此来统计各个灰度值的像素数灰度值范围0-255。将图像的灰度值均匀地分布在0-255之间,来将图像变得更加清晰。同时,需要将小于80的灰度值设置为0,大于150的灰度值设置为255,则得到以下关系:
化简后得:
其中,x为原图像的灰度值,y为增强图像的灰度值。如图2所示,改进后的图像可以看出来有明显增强。
步骤三、使用Radon算法对PCB板图像进行调整角度,结果如图3、4所示。Radon函数对应格式为:
R,xp]radon(I,theta)
其中,R为线积分值,xp为径向坐标,theta为投影角度。
将图像看成二维函数f(x,y),f(x,y)在垂直方向上的线性积分是其在x轴上的投影。f(x,y)在水平方向上的线积分就是其在y轴上的投影,通过这些投影,获取图像在指定方向上的突出特性。
将图像中心设为原点,用p和θ代替a、b,图像在空间的投影,用参数表示直线,θ假定有一个函数f(x,y)代表图像的像素,该函数过直线L区域的积分即为:
其中,p为直线到原点的距离,θ为某一特定方向,ds是该直线的微分。再使用Radon变换检测直线:
1、使用边缘检测函数edge函数计算二值图像,
I3=edge(I2,'canny')
2、计算二值图像的Radon变换。
theta=1:180
其中,theta表示要投影方向的角度。
[R,~]=radon(I3,theta)
沿某个方向theta做radon变换,结果是向量。
J=c,矩阵R的列标J就是对应的投影角度,倾斜角=90-c。
3、寻找Radon变换的局部极大值,所述极大值的位置为原始图像中直线的位置。[~,c]=find(R>=max(max(R))),检索矩阵R中最大值所在位置,提取行列标。
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:包括下列步骤:
S1、进行Canny算法进行优化,通过自定义其中的函数,使PCB板图像的边缘检测更加精确化;
S2、对PCB板图像进行增强;
S3、使用Radon算法对PCB板图像进行调整角度。
2.根据权利要求1所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1中进行Canny算法计算的方法为:
S1.1、去噪声:应用高斯滤波来平滑图像,从而实现去除噪声;
S1.2、梯度:找寻图像的梯度,计算一阶偏导用于找出灰度值变化较大的像素点,通过Sobel算子,设置Sobel算子的x和y方向的梯度模板;
S1.3、非极大值抑制。
3.根据权利要求2所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1.1中应用高斯滤波来平滑图像的方法为:
高斯函数为:
先对x方向进行卷积,再对y方向进行卷积,σ表示标准差,得到平滑处理后的图像。
4.根据权利要求2所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1.2中设置Sobel算子的x和y方向的梯度模板为:
其中,Sx为x方向的梯度模板,Sy为y方向的梯度模板。
5.根据权利要求2所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S1.3中非极大值抑制的方法为:
应用非最大抑制技术,来过滤掉非边缘像素,将模糊的边界变得清晰,该过程保留了每个像素点上梯度强度的极大值,过滤掉其他的值;线性插值的公式为:
Grad1=w*g1+(1-w)g2
Grad2=w*g3+(1-w)g4
其中,w为根据梯度的角度决定的权重大小;
由y梯度与x梯度的大小比较,最后根据计算得到的g1、g2、g3、g4和权值w计算梯度方向上的两个值,与中间值进行比较,看是否对中间值进行抑制。
6.根据权利要求1所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S2中对PCB板图像进行增强的方法为:
首先调用了zeros函数来创建一个1行256列的零矩阵,以此来统计各个灰度值的像素数灰度值范围0-255;将图像的灰度值均匀地分布在0-255之间,来将图像变得更加清晰;同时,需要将小于80的灰度值设置为0,大于150的灰度值设置为255,则得到以下关系:
化简后得:
其中,a为原图像的灰度值,b为增强图像的灰度值。
7.根据权利要求1所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述S3中使用Radon算法对PCB板图像进行调整角度的方法为:使用Radon算法调整角度,Radon函数对应格式为:
[R,xp]=radon(I,theta)
其中,R为线积分值,xp为径向坐标,theta为投影角度;
将图像看成二维函数f(x,y),f(x,y)在垂直方向上的线性积分是其在x轴上的投影;f(x,y)在水平方向上的线积分就是其在y轴上的投影,通过这些投影,获取图像在指定方向上的突出特性;
将图像中心设为原点,用p和θ代替a、b,图像在空间的投影,用参数表示直线,θ假定有一个函数f(x,y)代表图像的像素,该函数过直线L区域的积分即为:
其中,p为直线到原点的距离,θ为某一特定方向,ds是该直线的微分;再使用Radon变换检测直线。
8.根据权利要求7所述的一种基于FPGA的PCB板自动化缺陷检测方法,其特征在于:所述使用Radon变换检测直线的方法为:
S3.1、使用边缘检测函数edge函数计算二值图像,
I3=edge(I2,'canny')
其中,I3表示二值图像,I2表示原始图像;
S3.2、计算二值图像的Radon变换;
theta=1:180
其中,theta表示要投影方向的角度;
[R,~]=radon(I3,theta)
沿某个方向theta做radon变换,结果是向量;
J=c,矩阵R的列标J就是对应的投影角度,倾斜角=90-c;
S3.3、寻找Radon变换的局部极大值,所述极大值的位置为原始图像中直线的位置;[~,c]=find(R>=max(max(R))),检索矩阵R中最大值所在位置,提取行列标。
CN202410142339.9A 2024-02-01 2024-02-01 一种基于fpga的pcb板自动化缺陷检测方法 Pending CN117853478A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410142339.9A CN117853478A (zh) 2024-02-01 2024-02-01 一种基于fpga的pcb板自动化缺陷检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410142339.9A CN117853478A (zh) 2024-02-01 2024-02-01 一种基于fpga的pcb板自动化缺陷检测方法

Publications (1)

Publication Number Publication Date
CN117853478A true CN117853478A (zh) 2024-04-09

Family

ID=90536253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410142339.9A Pending CN117853478A (zh) 2024-02-01 2024-02-01 一种基于fpga的pcb板自动化缺陷检测方法

Country Status (1)

Country Link
CN (1) CN117853478A (zh)

Similar Documents

Publication Publication Date Title
CN108921176B (zh) 一种基于机器视觉的指针式仪表定位与识别方法
CN112819772B (zh) 一种高精度快速图形检测识别方法
CN109839385B (zh) 一种自适应的pcb板缺陷视觉定位检测及分类系统
CN111251336B (zh) 一种基于视觉定位的双臂协同智能装配系统
CN111126174A (zh) 一种用于机器人抓取零件的视觉检测方法
CN109784250B (zh) 自动引导小车的定位方法和装置
CN114494045B (zh) 一种基于机器视觉的大型直齿轮几何参数测量系统及方法
CN110689501B (zh) 一种畸变校正方法、装置、电子设备及计算机可读存储介质
CN115096206B (zh) 一种基于机器视觉的零件尺寸高精度测量方法
CN106875430B (zh) 动态背景下基于固定形态的单一运动目标追踪方法和装置
CN101315664A (zh) 用于文字识别的文本图像预处理方法
CN111489389A (zh) 一种光斑中心检测方法
CN112164050A (zh) 用于流水线上产品表面缺陷的检测方法、设备及存储介质
CN110807763A (zh) 一种陶瓦表面鼓包检测方法及系统
CN113743147B (zh) 一种基于模糊成像机理的抗模糊二维码图像及其盲复原方法
CN114119437B (zh) 一种基于gms的用于改善运动物体畸变的图像拼接方法
CN116385495A (zh) 一种动态背景下红外视频的运动目标闭环检测方法
CN113781413B (zh) 一种基于Hough梯度法的电解电容定位方法
CN112734779A (zh) 一种圆点标定板边缘亚像素检测方法
CN110349129B (zh) 一种高密度柔性ic基板外观缺陷检测方法
CN116758266A (zh) 一种指针式仪表的读数方法
CN117853478A (zh) 一种基于fpga的pcb板自动化缺陷检测方法
CN114998571B (zh) 基于固定尺寸标志物的图像处理及颜色检测方法
CN113554695A (zh) 零件孔位智能识别定位方法
CN110046528B (zh) 一种点状DataMatrix二维码识别方法

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