CN110288619B - 基于视觉的太阳花模组表面螺钉孔位置检测方法 - Google Patents
基于视觉的太阳花模组表面螺钉孔位置检测方法 Download PDFInfo
- Publication number
- CN110288619B CN110288619B CN201910195098.3A CN201910195098A CN110288619B CN 110288619 B CN110288619 B CN 110288619B CN 201910195098 A CN201910195098 A CN 201910195098A CN 110288619 B CN110288619 B CN 110288619B
- Authority
- CN
- China
- Prior art keywords
- circle
- image
- chip
- value
- pixel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical 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/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于视觉的太阳花模组表面螺钉孔位置检测方法,包括步骤101)相机选型及安置步骤、102)预处理图像步骤、103)Canny边缘检测步骤、104)圆形区域检测步骤、105)筛选目标区域步骤、106)自适应阈值化步骤和107)螺钉孔位置显示步骤;本发明提供了一种检测太阳花模组表面LED芯片的螺钉位置,实现芯片的自动化安装,完成整条生产线的自动化生产的方法。
Description
技术领域
本发明涉及螺钉孔位置检测领域,更具体的说,它涉及基于视觉的太阳花模组表面螺钉孔位置检测方法。
背景技术
太阳花LED模组:LED模组就是把发光二极管按一定规则排列在一起再封装起来,加上一些防水处理组成的产品。传统的模组装配全由人工操作完成,现进行智能工厂的建设,对模组产线进行项目新建,以实现工厂从仓储、物料配送、装配检测、包装的智能化和自动化生产。在这之中对芯片的安装尤为重要,如何在太阳花LED模组中排除干扰圆孔,并精确找到芯片的螺钉位置,为自动化安装提供数据支持,是目前企业迫切想要解决的问题。
发明内容
本发明克服了现有技术的不足,提供了一种检测太阳花模组表面LED芯片的螺钉位置,实现芯片的自动化安装,完成整条生产线的自动化生产的方法。
本发明的技术方案如下:
基于视觉的太阳花模组表面螺钉孔位置检测方法,具体包括如下步骤:
101)获取整个拥有太阳花模组轮廓的原始灰度图像;
102)对原始灰度图像进行降噪后提取边缘轮廓获得轮廓图像;
103)对边缘轮廓图像进行圆形区域检测,确定芯片所处区域;
104)将确定轮廓图像中芯片所处区域对应到降噪图像中,获得降噪图像中芯片所在区域;
105)对降噪图像中芯片所在区域做自适应阈值化;
106)对芯片区域进行边缘检测提取芯片轮廓,再对芯片轮廓进行霍夫圆检测,获得的圆就是螺钉孔的位置。
进一步,所述步骤101)通过相机的自动调整机构来调整相机高度,从而来获取整个拥有太阳花模组轮廓的原始灰度图像,所述自动调整机构根据太阳花模组实际尺寸设置了调整检测的最大阈值和最小阈值,当调整后相机获取的图像通过霍夫圆形检测,并提取到其中最大圆的半径值时,将该半径值与处于最大阈值和最小阈值范围时,自动调整机构停止调整。
进一步,所述步骤103)根据太阳花模组的形状和芯片的大小,设置与芯片对角线长度相等的圆形直径比较值,并对轮廓图像进行霍夫圆形检测,由检测到的圆形直径与设置的圆形直径比较值比较,若检测到的圆形直径大于设置的圆形直径比较值,且两者的差值最小,则确定轮廓图像中检测到的该圆形为芯片所处区域;芯片所处区域通过最小外接正矩形的四个角点坐标来验证。
进一步,所述步骤103)圆形区域检测具体处理如下:
301)检出内轮廓圆步骤:通过圆检测,取得太阳花模组的芯片外有两层圆形轮廓,并进行剔除外圈圆形轮廓,得到内轮廓圆;
302)邻域梯度值获取步骤:通过对步骤102)的图形二值化,并进行Sobel方法检测而得到所有像素的邻域梯度值,具体Sobel方法在X、Y方向上的检测公式如下Gx、Gy:
由上述得到的θ来得出其梯度方向;
303)圆心确认步骤:遍历由步骤302)处理后的图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的每一个点都在累加器中记数;累加器中记数最多的点就是圆心;其中具体确定最多记数点步骤如下:对于所有记数点高的圆心,根据记数点从高到低进行排序,并依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,进行新的统计属于该半径的非0点数;重复以上新的统计方法,在此情况下,会检测到至少两个以上的圆存在,再设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为该圆心;
304)确认中心目标圆步骤:将步骤303)得到的圆心,因太阳花模组的形状,且此次检测只需检出一个最终中心目标圆,故首先设置圆心最小间距,又由于目标圆肯定在图像内,所以对圆的最小内接正矩形的四个角点坐标来进一步验证该圆心确定的圆形区域,从而得出最终中心目标圆。
进一步,通过遍历降噪图像中芯片所在区域的像素,并对像素的灰度值与预设灰度值比较,当像素的灰度值比预设灰度值大时,该类灰度值的像素属于芯片部或非芯片部,从中得到图像中芯片区域。
进一步,所述步骤105)区分出芯片的具体步骤如下:
501)遍历图像步骤:统计每个像素点的像素值,得到0-255像素范围中像素值i在图像中对应的像素点的数量m_i,用pi=m_i/(cols×rows)来表示像素值i所对应像素点数量占总像素数量的概率;其中cols为图像的列即图像宽度,rows为图像的行即图像高度;
502)设阈值重新遍历统计步骤:设置一个阈值k,像素值小于等于k的所有像素点为A类,大于k的像素点为B类;再次从k=0,1,2…255遍历像素值,由公式计算得到A类像素值的概率和,公式P2(k)=1-P1(k)得到B类像素值概率和;由公式得到A类像素的平均灰度值,计算得到B类像素的平均灰度值;
503)确定最终阈值步骤:通过计算得到类间方差,选择类间方差最大值所对应的k值为阈值,如果最大值不唯一,取多个k值的平均作为阈值;对图像进行二值化,大于阈值的像素值为255,小于阈值的像素值为0,得到芯片区域的像素值都为255或者0。
进一步,步骤104)筛选目标区域步骤:确定轮廓图像中芯片所处区域的图像进行直线检测,得到芯片区域。
本发明相比现有技术优点在于:
本发明提供了一种检测太阳花模组表面LED芯片的螺钉位置,实现芯片的自动化安装,完成整条生产线的自动化生产的方法,从而可以快速、精准的检测到螺钉孔位置,减少工人成本。本发明图像处理中目标螺钉孔所在LED芯片的像素值与其余螺钉孔位置周围的像素值相比,差别较大,因图片效果会受光照影响,固定值阈值化效果有可能不稳定,决定对图片进行自适应阈值化。阈值化是通过遍历图像像素值找到某个值能够最大程度上把图像分成两部分。为图像提供了更好的处理基础。
附图说明
图1为本发明的实物图像;
图2为本发明的中值滤波处理后的效果图;
图3为本发明的Canny边缘检测处理的效果图;
图4为图3通过本发明的直线检测效果图;
图5为图3通过本发明的圆检测后的效果图;
图6为图5筛选目标区域后确定一个中心圆的效果图;
图7为本发明筛选目标区域后的效果图;
图8为本发明筛选目标区域后的提取裁剪范围后的效果图;
图9为本发明滤波效果图根据图8裁剪后的目标区域小图;
图10为本发明图9二值化后的效果图;
图11为本发明图10边缘检测后的效果图;
图12为本发明图11确认螺钉孔后的图;
图13为本发明图12显示在图2上的效果图;
图14为本发明的整体流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进一步说明。
实施例一:
如图1至图14所示,基于视觉的太阳花模组表面螺钉孔位置检测方法,具体包括如下步骤:
101)图像获取步骤:获取整个拥有太阳花模组轮廓的原始灰度图像,具体通过相机的自动调整机构来调整相机高度,从而由相机来获取整个拥有太阳花模组轮廓的原始灰度图像,所述自动调整机构根据太阳花模组实际尺寸设置了调整检测的最大阈值和最小阈值,当调整后相机获取的图像通过霍夫圆形检测,并提取到其中最大圆的半径值时,将该半径值与处于最大阈值和最小阈值范围时,自动调整机构停止调整。
102)预处理图像步骤:对原始灰度图像进行降噪,获得降噪图像,并从降噪图像中提取边缘轮廓,获得轮廓图像。
103)圆形区域检测步骤:根据太阳花模组的形状和芯片的大小,设置与芯片对角线长度相等的圆形直径比较值,并对轮廓图像进行霍夫圆形检测,由检测到的圆形直径与设置的圆形直径比较值比较,若检测到的圆形直径大于设置的圆形直径比较值,且两者的差值最小,则确定轮廓图像中检测到的该圆形为芯片所处区域。所述芯片所处区域通过最小外接正矩形的四个角点坐标来验证。具体根据坐标点离中心点的距离和芯片的尺寸的比较,只要距离超过芯片的尺寸即可确认芯片处于该区域。
圆形区域检测具体处理如下:
301)检出内轮廓圆步骤:通过圆检测轮廓图像,取得太阳花模组的芯片外有两层圆形轮廓,并进行剔除外圈圆形轮廓,得到内轮廓圆;
302)邻域梯度值获取步骤:通过对轮廓图像二值化,并进行Sobel方法检测而得到所有像素的邻域梯度值,具体Sobel方法在X、Y方向上的检测公式如下Gx、Gy:
由上述得到的θ来得出其梯度方向;
303)圆心确认步骤:遍历由步骤302)处理后的图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的每一个点都在累加器中记数;累加器中记数最多的点就是圆心;其中具体确定最多记数点步骤如下:对于所有记数点高的圆心,根据记数点从高到低进行排序,并依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,进行新的统计属于该半径的非0点数;重复以上新的统计方法,在此情况下,会检测到至少两个以上的圆存在,再设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为该圆心;
304)确认中心目标圆步骤:将步骤303)得到的圆心,因太阳花模组的形状,且此次检测只需检出一个最终中心目标圆,故首先设置圆心最小间距,又由于目标圆肯定在图像内,所以对圆的最小外接正矩形的四个角点坐标来进一步验证该圆心确定的圆形区域,得到最终芯片所处区域的圆形。
104)筛选目标区域步骤:将确定轮廓图像中芯片所处区域对应到降噪图像中,获得降噪图像中芯片所在区域;
105)自适应阈值化步骤:通过遍历降噪图像中芯片所在区域的像素,并对像素的灰度值与预设灰度值比较,当像素的灰度值比预设灰度值大时,该类灰度值的像素属于芯片部或非芯片部,从中得到图像中芯片区域。
确定图像中芯片区域的具体步骤如下:
501)遍历图像步骤:统计每个像素点的像素值,得到0-255像素范围中像素值i在图像中对应的像素点的数量m_i,用pi=m_i/(cols×rows)来表示像素值i所对应像素点数量占总像素数量的概率;其中cols为图像的列即图像宽度,rows为图像的行即图像高度;
502)设阈值重新遍历统计步骤:设置一个阈值k,像素值小于等于k的所有像素点为A类,大于k的像素点为B类;再次从k=0,1,2…255遍历像素值,由公式计算得到A类像素值的概率和,公式P2(k)=1-P1(k)得到B类像素值概率和;由公式得到A类像素的平均灰度值,计算得到B类像素的平均灰度值;
503)确定最终阈值步骤:通过计算得到类间方差,选择类间方差最大值所对应的k值为阈值,如果最大值不唯一,取多个k值的平均作为阈值;对图像进行二值化,大于阈值的像素值为255,小于阈值的像素值为0,得到芯片区域的像素值都为255或者0。
106)螺钉孔位置显示步骤:对芯片区域进行边缘检测提取芯片轮廓,再对芯片轮廓进行霍夫圆检测,获得的圆就是螺钉孔的位置。
实施例二:
如图14所示,基于视觉的太阳花模组表面螺钉孔位置检测方法,具体包括如下步骤:
101)相机选型及安置步骤:相机通过外部机械架放置在模组上方,距模组垂直高度0.3米,采用分辨率范围为200万像素及其以上的工业相机。当模组运行到此工位时,触发相机拍照来获取相应图像。所述相机选型,因检测精度为0.2mm,螺钉直径3mm,太阳花模组的直径为160mm,底座直径为115mm,正方形芯片边长为32mm,对角长度约为45mm。故相机的最小视野应在130mm以上,因此得到最小分辨率为650,实际应用一般会选取计算值的2倍以上来确保精度,故分辨率范围在1300以上。由此进行相机选型,最终选用大恒图像的MER-200-20GM/C 200万像素GigE工业相机。拍摄图像为灰度图,在黑色工作台上拍摄效果正如图1所示。
其中通过相机的自动调整机构来调整相机高度,从而来获取整个拥有太阳花模组轮廓的原始灰度图像,所述自动调整机构根据太阳花模组实际尺寸设置了调整检测的最大阈值和最小阈值,当调整后相机获取的图像通过霍夫圆形检测,并提取到其中最大圆的半径值时,将该半径值与处于最大阈值和最小阈值范围时,自动调整机构停止调整。
102)预处理图像步骤:将由步骤101)相机获取的图像进行非线性滤波方法中的中值滤波方法处理,该非线性滤波方法能在减小图片噪声的同时,保留其边缘轮廓。下一步的边缘检测的方法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声特别敏感,因此必须滤波来改善与噪声有关的边缘检测的性能。因此使用非线性滤波方法——中值滤波,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点,获得降噪图像。该非线性滤波达到了可以在减小图片噪声的同时,保留其边缘轮廓的效果,得到轮廓图像。
具体效果如图2所示,用3×3的二维九宫格模板,依次扫过图像的每一个像素点所在的九宫格区域。在每经过一个点时,对于这个点周围的九宫格区域内的9个像素值按大小进行排序,选取中值作为这个中心点的像素值。
103)Canny边缘检测步骤:对步骤102)预处理后的图片进行一阶微分算子,并增加通过非最大值抑制提高边缘的定位精度和双阈值来有效减少边缘的漏检率的处理。具体其中所述Canny边缘检测步骤如下:
301)高斯模糊步骤:使用高斯模糊进一步去除步骤102)处理后的图像的噪声,减少伪边缘的识别。
302)计算梯度幅值和方向的步骤:图像的边缘可以指向不同方向,从而用两个梯度算子来分别计算水平,垂直方向的梯度;其正因为图像的边缘可以指向不同方向,因此经典方法是用了四个梯度算子来分别计算水平,垂直和对角线方向的梯度,但是通常又都不用四个梯度算子来分别计算四个方向。因此本文采用计算水平和垂直两个方向上的梯度,来保证处理效果上不降低要求,又不会因为并非所有方向的梯度都计算而造成计算效率的降低。
水平梯度和垂直梯度上的表达式如下:
其中,A是原图像像素矩阵。
最终得到梯度幅值:
梯度方向:
303)非极大值抑制步骤:非最大值抑制是一种边缘细化方法。通常得出来的梯度边缘不止一个像素宽,而是多个像素宽,因此这样的梯度图还是很“模糊”。非最大值抑制能帮助保留局部最大梯度而抑制所有其他梯度值。这意味着只保留了梯度变化中最锐利的位置。其方法步骤如下:首先比较当前点的梯度强度和正负梯度方向点的梯度强度;再者进行比较,如果当前点的梯度强度和同方向的其他点的梯度强度相比较是最大,保留其值,否则抑制,即设为0。具体例子比如当前点的方向指向正上方90°方向,那它需要垂直方向,即它的正上方和正下方的像素进行比较。
304)滞后阈值步骤:滞后阈值需要两个阈值即高阈值和低阈值,若某一像素位置的幅值超过高阈值,则该像素保留为边缘像素;若某一像素位置的幅值小于低阈值,则该像素被排除;若幅值在两个阈值之间,则像素仅仅在连接到一个高于高阈值的像素时被保留。一般高低阈值比在2:1到3:1之间。最终对双边滤波效果图进行边缘检测得到如图3所示。
104)圆形区域检测步骤:根据太阳花模组的形状,且此次检测只需检出一个中心目标圆,故对轮廓图像首先设置圆心最小间距为500像素,并且由于目标圆肯定在图像内,所以对圆的最小外接正矩形的四个角点坐标来进一步验证。这一步为筛选过程,如果外接正方形的顶点有不在图像内,则表示圆处于图像边缘,即不是目标圆。
具体是因为由于在其它位置也有若干个相同尺寸的螺钉孔,因此若直接进行霍夫圆检测,很难在所有螺钉圆中将目标螺钉圆提取出来。由此需要减少目标区域内的干扰螺钉孔,从canny检测图中可看出,目标螺钉孔在一个方形区域内,若直接进行霍夫直线检测,在方形区域之外也会检测到大量的干扰直线存在,具体会如图4所示。
因此不能直接通过直线检测将目标区域提取出来。
经过观察发现方形区域外有两层圆形轮廓,因此决定先通过圆检测检出内轮廓圆。再使用霍夫梯度法进行圆形区域检测:对canny边缘检测得到的二值图进行Sobel检测,可得到所有像素的邻域梯度值。其中GX、GY方向检测模板
遍历二值图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的每一个点都在累加器中记数。累加器中记数最多的点最有可能是圆心。对于可能的圆心,从累加器点数从高到低进行排序,依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,统计属于该半径的非0点数。重复以上步骤计算多个圆心点,优先选择非0点数最多的半径画圆。在此情况下,会检测到许多的圆存在,设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为圆心。
由试验得知模组底座内圆轮廓半径约为220个像素点左右,故设置半径区间在150-280,最优圆半径不在此范围的全部排除掉。
由如图5所示可看出经过霍夫圆检测之后仍存在其它的干扰圆,由于此次检测只需检出一个中心目标圆即可,首先设置圆心最小间距为500,并且由于目标圆肯定在图像内,所以对圆的最小外接正矩形的四个角点坐标进行判断,若不在图像内部则去除,从而得到如图6所示。
105)筛选目标区域步骤:经过步骤104)检测缩小目标区域后,太阳花模组的芯片区域将位于检测得到的圆形区域的中心位置,故由此以圆心坐标为中心,提取一个正方形区域,该正方形区域边长大于检测圆半径。即经过圆检测缩小了目标区域。目标所在方形芯片区域基本位于检测得到的圆形区域的中心位置。由此以圆心坐标为中心,提取一个正方形区域。经过试验得到边长略大于检测圆半径可将方形芯片完全包含(此处取正方形区域边长大余半径40个像素值)。具体正方形区域的边长是根据实际物体上的圆半径和芯片边长的比例关系确定的。若想完全把中心方形芯片全部包含在内,边长需取圆半径的2/3长度。从而可以得到如图7所示。再从中提取裁剪得到如图8所示的新图像。
106)自适应阈值化步骤:将步骤102)处理后的图形根据步骤105)处理后的图形进行截取相同位置和大小的图像,具体会将得到如图9所示,并通过遍历图像像素值与一个阈值比较,从而最大程度上把图像区分出芯片部,从而得到如图10所示的效果图。
即因目标螺钉孔所在LED芯片的像素值与其余螺钉孔位置周围的像素值相比,差别较大,因图片效果会受光照影响,固定值阈值化效果有可能不稳定,因此决定对图片进行自适应阈值化。阈值化是通过遍历图像像素值找到某个值能够最大程度上把图像分成两部分。
具体步骤为:1)、遍历图像,统计每个像素点的像素值,得到0-255像素范围中像素值i在图像中对应的像素点的数量mi,用pi=mi/(cols×rows)(行列相乘得到像素点总数量)表示像素值i所对应像素点数量占总像素数量的概率。2)、设像素值小于等于k的所有像素点为A类,大于k的像素点为B类。再次从k=0,1,2…255遍历像素值,由公式计算得到A类像素值的概率和,公式P2(k)=1-P1(k)得到B类像素值概率和。由公式 得到A类像素的平均灰度值,计算得到B类像素的平均灰度值。3)、通过计算得到类间方差,选择类间方差最大值所对应的k值为阈值,如果最大值不唯一,取多个k值进行平均作为阈值。对图像进行二值化,大于阈值的令像素值为255,小于阈值的为0。
107)螺钉孔位置显示步骤:对步骤106)处理后的图像进行边缘检测提取轮廓,从而得到如图11所示的效果图。再对其边缘图进行霍夫圆检测,经试验得知螺钉孔在图像中的半径约等于18个像素值,因此设置半径区间15-21个像素值,最小圆心间距取100个像素值,会得到如图12所示的效果图。从而确定螺钉孔,并将该检测到的螺钉孔位置转换到原图中,将其坐标显示出来,得出如图13所示的效果图。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (6)
1.基于视觉的太阳花模组表面螺钉孔位置检测方法,其特征在于,具体包括如下步骤:
101)获取整个拥有太阳花模组轮廓的原始灰度图像;
102)对原始灰度图像进行降噪后提取边缘轮廓获得轮廓图像;
103)对边缘轮廓图像进行圆形区域检测,确定芯片所处区域;
104)将确定轮廓图像中芯片所处区域对应到降噪图像中,获得降噪图像中芯片所在区域;
105)对降噪图像中芯片所在区域做自适应阈值化;
106)对芯片区域进行边缘检测提取芯片轮廓,再对芯片轮廓进行霍夫圆检测,获得的圆就是螺钉孔的位置;
所述步骤103)根据太阳花模组的形状和芯片的大小,设置与芯片对角线长度相等的圆形直径比较值,并对轮廓图像进行霍夫圆形检测,由检测到的圆形直径与设置的圆形直径比较值比较,若检测到的圆形直径大于设置的圆形直径比较值,且两者的差值最小,则确定轮廓图像中检测到的该圆形为芯片所处区域;芯片所处区域通过最小外接正矩形的四个角点坐标来验证;根据坐标点离中心点的距离和芯片的尺寸的比较,只要距离超过芯片的尺寸即可确认芯片处于该区域。
2.根据权利要求1所述的基于视觉的太阳花模组表面螺钉孔位置检测方法,其特征在于:所述步骤101)通过相机的自动调整机构来调整相机高度,从而来获取整个拥有太阳花模组轮廓的原始灰度图像,所述自动调整机构根据太阳花模组实际尺寸设置了调整检测的最大阈值和最小阈值,当调整后相机获取的图像通过霍夫圆形检测,并提取到其中最大圆的半径值时,将该半径值与处于最大阈值和最小阈值范围时,自动调整机构停止调整。
3.根据权利要求1所述的基于视觉的太阳花模组表面螺钉孔位置检测方法,其特征在于:所述步骤103)圆形区域检测具体处理如下:
301)检出内轮廓圆步骤:通过圆检测,取得太阳花模组的芯片外有两层圆形轮廓,并进行剔除外圈圆形轮廓,得到内轮廓圆;
302)邻域梯度值获取步骤:通过对步骤102)的图形二值化,并进行Sobel方法检测而得到所有像素的邻域梯度值,具体Sobel方法在X、Y方向上的检测公式如下Gx、Gy:
由上述得到的θ来得出其梯度方向;
303)圆心确认步骤:遍历由步骤302)处理后的图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的每一个点都在累加器中记数;累加器中记数最多的点就是圆心;其中具体确定最多记数点步骤如下:对于所有记数点高的圆心,根据记数点从高到低进行排序,并依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,进行新的统计属于该半径的非0点数;重复以上新的统计方法,在此情况下,会检测到至少两个以上的圆存在,再设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为该圆心;
304)确认中心目标圆步骤:将步骤303)得到的圆心,因太阳花模组的形状,且此次检测只需检出一个最终中心目标圆,故首先设置圆心最小间距,又由于目标圆肯定在图像内,所以对圆的最小内接正矩形的四个角点坐标来进一步验证该圆心确定的圆形区域,从而得出最终中心目标圆。
4.根据权利要求1所述的基于视觉的太阳花模组表面螺钉孔位置检测方法,其特征在于:通过遍历降噪图像中芯片所在区域的像素,并对像素的灰度值与预设灰度值比较,当像素的灰度值比预设灰度值大时,该类灰度值的像素属于芯片部或非芯片部,从中得到图像中芯片区域。
5.根据权利要求4所述的基于视觉的太阳花模组表面螺钉孔位置检测方法,其特征在于:所述步骤105)区分出芯片的具体步骤如下:
501)遍历图像步骤:统计每个像素点的像素值,得到0-255像素范围中像素值i在图像中对应的像素点的数量m_i,用pi=m_i/(cols×rows)来表示像素值i所对应像素点数量占总像素数量的概率;其中cols为图像的列即图像宽度,rows为图像的行即图像高度;
502)设阈值重新遍历统计步骤:设置一个阈值k,像素值小于等于k的所有像素点为A类,大于k的像素点为B类;再次从k=0,1,2…255遍历像素值,由公式计算得到A类像素值的概率和,公式P2(k)=1-P1(k)得到B类像素值概率和;由公式得到A类像素的平均灰度值,计算得到B类像素的平均灰度值;
6.根据权利要求1所述的基于视觉的太阳花模组表面螺钉孔位置检测方法,其特征在于:步骤104)筛选目标区域步骤:确定轮廓图像中芯片所处区域的图像进行直线检测,得到芯片区域。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810208471X | 2018-03-14 | ||
CN201810208291.1A CN108573476A (zh) | 2018-03-14 | 2018-03-14 | 基于视觉的太阳花模组表面螺钉孔位置检测方法 |
CN2018102082911 | 2018-03-14 | ||
CN201810208471.XA CN108596925A (zh) | 2018-03-14 | 2018-03-14 | 基于视觉的太阳花模组表面螺钉孔位置图像处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288619A CN110288619A (zh) | 2019-09-27 |
CN110288619B true CN110288619B (zh) | 2021-08-03 |
Family
ID=68001180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910195098.3A Active CN110288619B (zh) | 2018-03-14 | 2019-03-14 | 基于视觉的太阳花模组表面螺钉孔位置检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288619B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062940B (zh) * | 2019-12-31 | 2022-05-20 | 西南交通大学 | 一种基于机器视觉的螺钉定位与识别方法 |
CN112767304B (zh) * | 2020-12-04 | 2023-02-28 | 浙江大学山东工业技术研究院 | 一种基于视觉的太阳花模组位置和方向检测方法 |
CN115278223B (zh) * | 2022-09-29 | 2022-12-13 | 天津华来科技股份有限公司 | 摄像产品连接性能测试方法、系统、存储设备及处理终端 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034101A (zh) * | 2010-10-22 | 2011-04-27 | 广东工业大学 | 一种pcb视觉检测中快速圆形标志定位方法 |
CN102706882A (zh) * | 2012-04-28 | 2012-10-03 | 东信和平智能卡股份有限公司 | 一种sim模块的视觉检测方法 |
CN106023165A (zh) * | 2016-05-12 | 2016-10-12 | 曲阜师范大学 | 一种用于光学分辨率光声显微镜下活体肿瘤血管新生图像的血管提取方法 |
CN106023186A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大学宁波理工学院 | 一种基于机器视觉的毛坯轮毂钻孔中心精确定位方法 |
CN106097307A (zh) * | 2016-05-26 | 2016-11-09 | 安徽工业大学 | 一种基于人工鱼群算法的圆形工件检测方法 |
CN106251354A (zh) * | 2016-07-28 | 2016-12-21 | 河北工业大学 | 用于螺钉自动装配的机器视觉定位方法 |
CN103778645B (zh) * | 2014-01-16 | 2017-02-15 | 南京航空航天大学 | 一种基于图像的圆形目标实时跟踪方法 |
CN107330881A (zh) * | 2017-06-30 | 2017-11-07 | 燕山大学 | 一种用于识别轮毂气门孔的方法 |
CN107341794A (zh) * | 2017-06-27 | 2017-11-10 | 重庆交通大学 | 沥青混合料摊铺均匀性实时检测方法 |
CN107705297A (zh) * | 2017-09-18 | 2018-02-16 | 华南理工大学 | 一种柔性电路板圆孔的阈值分割检测方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9102220B2 (en) * | 1992-05-05 | 2015-08-11 | American Vehicular Sciences Llc | Vehicular crash notification system |
JPH0791914A (ja) * | 1993-10-12 | 1995-04-07 | Yamatake Honeywell Co Ltd | 回路基板の原点検出方法及び装置 |
CN103925878A (zh) * | 2014-04-11 | 2014-07-16 | 南京信息工程大学 | 基于Hough圆卷积变换算法的孔组检测方法与系统 |
CN105427278B (zh) * | 2015-10-29 | 2018-03-23 | 广州视源电子科技股份有限公司 | Pcb定位点确定方法和系统 |
KR20170103472A (ko) * | 2016-03-04 | 2017-09-13 | 한국전자통신연구원 | 허프 변환을 이용한 하드웨어 기반 원 검출 장치 및 방법 |
-
2019
- 2019-03-14 CN CN201910195098.3A patent/CN110288619B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034101A (zh) * | 2010-10-22 | 2011-04-27 | 广东工业大学 | 一种pcb视觉检测中快速圆形标志定位方法 |
CN102706882A (zh) * | 2012-04-28 | 2012-10-03 | 东信和平智能卡股份有限公司 | 一种sim模块的视觉检测方法 |
CN103778645B (zh) * | 2014-01-16 | 2017-02-15 | 南京航空航天大学 | 一种基于图像的圆形目标实时跟踪方法 |
CN106023165A (zh) * | 2016-05-12 | 2016-10-12 | 曲阜师范大学 | 一种用于光学分辨率光声显微镜下活体肿瘤血管新生图像的血管提取方法 |
CN106023186A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大学宁波理工学院 | 一种基于机器视觉的毛坯轮毂钻孔中心精确定位方法 |
CN106097307A (zh) * | 2016-05-26 | 2016-11-09 | 安徽工业大学 | 一种基于人工鱼群算法的圆形工件检测方法 |
CN106251354A (zh) * | 2016-07-28 | 2016-12-21 | 河北工业大学 | 用于螺钉自动装配的机器视觉定位方法 |
CN107341794A (zh) * | 2017-06-27 | 2017-11-10 | 重庆交通大学 | 沥青混合料摊铺均匀性实时检测方法 |
CN107330881A (zh) * | 2017-06-30 | 2017-11-07 | 燕山大学 | 一种用于识别轮毂气门孔的方法 |
CN107705297A (zh) * | 2017-09-18 | 2018-02-16 | 华南理工大学 | 一种柔性电路板圆孔的阈值分割检测方法 |
Non-Patent Citations (2)
Title |
---|
Hough变换和轮廓匹配相结合的瞳孔精确检测算法;毛顺兵;《计算机应用》;20160510;第36卷(第5期);第1415-1420页 * |
一种基于改进Canny的边缘检测算法;许宏科 等;《红外技术》;20140321;第36卷(第3期);第210-214页第2.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN110288619A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111179225B (zh) | 一种基于灰度梯度聚类的试纸表面纹理缺陷检测方法 | |
CN110288619B (zh) | 基于视觉的太阳花模组表面螺钉孔位置检测方法 | |
CN109978839B (zh) | 晶圆低纹理缺陷的检测方法 | |
CN108416809B (zh) | 一种基于机器视觉的钢桶螺纹盖位姿识别方法 | |
CN108376403B (zh) | 基于霍夫圆变换的网格菌落图像分割方法 | |
CN115063421B (zh) | 极片区域检测方法及系统及装置及介质及缺陷检测方法 | |
CN109345554A (zh) | 一种基于rgb-d相机的粘连蘑菇视觉原位测量方法 | |
CN110414308B (zh) | 一种针对输电线路上动态异物的目标识别方法 | |
CN106780526A (zh) | 一种铁氧体圆片表面裂痕识别方法 | |
CN108596925A (zh) | 基于视觉的太阳花模组表面螺钉孔位置图像处理方法 | |
CN110648330B (zh) | 摄像头玻璃的缺陷检测方法 | |
CN110070523B (zh) | 一种用于瓶底的异物检测方法 | |
CN109886935A (zh) | 一种基于深度学习的道面异物检测方法 | |
CN111060442A (zh) | 一种基于图像处理的油液颗粒检测方法 | |
CN106529551B (zh) | 面向包装行业的类圆对象智能识别计数检测方法 | |
CN103824275A (zh) | 在图像中搜寻鞍点状结构并测定其信息的系统和方法 | |
CN115619775B (zh) | 基于图像识别的物料计数方法及装置 | |
CN113252103A (zh) | 一种基于matlab图像识别技术计算物料堆体积及质量的方法 | |
CN111242888A (zh) | 一种基于机器视觉的图像处理方法及系统 | |
CN114092468A (zh) | 一种基于机器视觉的标准目标计数方法 | |
CN108805854B (zh) | 一种复杂环境下药片快速计数与完整性检测方法 | |
CN114092682A (zh) | 基于机器学习的小金具类缺陷检测算法 | |
CN112419225B (zh) | 一种基于引脚分割的sop型芯片检测方法及系统 | |
CN116012767B (zh) | 一种电控硅油风扇离合器壳体裂纹视觉检测方法 | |
CN113284096B (zh) | 一种基于高频信息与轮廓信息的药盒内药板的计数方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |