一种用于LED玻璃灯杯的凹槽深度检测方法与流程

文档序号:16054023发布日期:2018-11-24 11:31阅读:381来源:国知局

本发明属于图像处理领域,具体涉及一种用于led玻璃灯杯的凹槽深度检测方法。

背景技术

传统的led玻璃灯杯生产企业都是采用人工借助特制模具检测灯杯凹槽深度的方法。灯杯凹槽深度检测项目具有劳动时间长、重复性高等特点。在这样的情况下,人工检测不仅效率低下,而且在长时间工作之后容易造成漏检、误检等问题,无法保证产品质量的一致性。此外,检测模具在高重复的作业下会有所磨损,从而提高了产品容错性。因此研究出一种可在线、高可靠、高准确性的led玻璃灯杯凹槽深度检测方法,可以减少生产岗位用工,降低人工成本,并提高灯杯生产效率与产品质量一致性,具有重要的工程实际意义。

由于直接精确的测量led玻璃灯杯凹槽深度存在困难,又因为灯杯上安装的铆钉的长度是固定的,所以可以通过测量铆钉超过灯杯表面的高度,然后用铆钉长度减去铆钉超过灯杯表面的高度从而间接地计算出灯杯凹槽深度。因此,本发明方法利用图像处理方法对铆钉超出灯杯表面的高度进行测量,从而间接地计算出灯杯凹槽深度。本发明方法可以很好的克服传统人工检测方法的不足,具有效率高、检测精度高、可在线检测等优点。



技术实现要素:

为了克服人工检测led玻璃灯杯凹槽深度的弊端,本发明提出一种基于图像处理的led玻璃灯杯凹槽深度的检测方法。本方法采用面阵相机、远心镜头以及平行光源作为图像捕获设备,以水平投影的方式采集图像,并通过统计铆钉超过灯杯表面高度的起始点与终止点的像素点差值来间接的计算灯杯凹槽深度。图像处理的具体步骤是:

步骤(1):f(x,y)表示采集到的大小为m×n的led玻璃灯杯一帧水平投影图像,x,y表示图像的横坐标和纵坐标,按如下方式对灯杯图像作二值化处理:

其中η为二值化阈值;

步骤(2):铆钉超过灯杯表面高度的终止点定位:

(a)按从左到右,从上到下的扫描方式访问二值化图像中的每个像素点,并统计每行黑色像素点个数,第i行黑色点像素个数记为ci。若连续三行的黑色像素点个数ci,ci+1,ci+2都大于阈值β,则保留第i行对应的y轴坐标值,记为y1,否则继续扫描。

(b)从y轴坐标值为y1的位置出发,按从左到右的扫描方式访问每个像素点,根据像素值的变化实时改变当前的状态t,t1代表初始状态,t2代表第一次由白色像素点跳变到黑色像素点,t3代表第一次由黑色像素点跳变到白色像素点,t4代表第二次由白色像素点跳变到黑色像素点,t5代表第二次由黑色像素点跳变到白色像素点。当状态为t3时,记录对应的点的坐标值e1;当状态为t4时,记录对应的点的坐标值e2。

(c)求点e1与点e2的中点e3:然后从点e3沿着y轴出发,按从上到下的扫描方式访问每个像素点,遇到的第一个黑色像素点即为铆钉超过灯杯表面高度的终止点e。

步骤(3):根据铆钉超过灯杯表面高度的终止点进行图像分割:

以通过e点的y轴线作为分割线将原二值图f(x,y)分割为f1(x,y)与f2(x,y)。

步骤(4):铆钉超过灯杯表面高度的起始点定位:

(a)按从上到下,从左到右的扫描方式访问二值化图像f1(x,y)或f2(x,y)中的每个像素点,遇到的第一个黑色像素点停止,记录该点坐标值为s1,计数c置为1,并跳转到下一列i继续扫描。遇到第i列的第一个黑色像素点停止,记录该点的y轴坐标值yc,计数c加1,并跳转到下一列i+1继续扫描。直至计数c达到阈值α1为止。若某列中不存在黑色像素点,则计数c置为0。然后对连续的c个y轴坐标值按如下式作差与累加:

如果k≤阈值α2,则保留点s1,否则继续按上述方式扫描图像定位点s1。同样地,按照从上到下,从右到左的扫描方式可以定位到点s2。

(b)取点s1与点s2的中点作为铆钉超过灯杯表面高度的起始点s。

步骤(5):led玻璃灯杯凹槽深度计算:

按下式计算出led玻璃灯杯凹槽深度:

d=l-(ys-ye)×p

其中d是led玻璃灯杯凹槽深度,l是铆钉固定长度,ys表示起始点s的y轴坐标值,ye表示终止点e的y轴坐标值,p表示每个像素点代表的实际距离,该系数由相机参数与镜头参数决定。通过统计起始点s与终止点e在y轴上像素点差值,并转化为实际距离,最后由铆钉固定长度减去该实际距离完成对led玻璃灯杯凹槽深度的计算。

本发明的有益效果:本发明方法利用图像处理方法对led玻璃灯杯凹槽深度进行了自动在线检测,克服了人工检测效率低下,无法保证产品质量的一致性以及检测模具磨损对产品容错性提高等弊端。本发明具有效率高、检测精度高、可在线检测等优点,可以减少生产岗位用工,降低人工成本,并提高灯杯生产效率与产品质量一致性,具有重要的工程实际意义。

具体实施方式:

步骤(1):f(x,y)表示采集到的大小为m×n的led玻璃灯杯一帧水平投影图像,x,y表示图像的横坐标和纵坐标,按如下方式对灯杯图像作二值化处理:

其中二值化阈值η设为110;

步骤(2):铆钉超过灯杯表面高度的终止点定位:

(a)按从左到右,从上到下的扫描方式访问二值化图像中的每个像素点,并统计每行黑色像素点个数,第i行黑色点像素个数记为ci。若连续三行的黑色像素点个数ci,ci+1,ci+2都大于550,则保留第i行对应的y轴坐标值,记为y1,否则继续扫描。

(b)从y轴坐标值为y1的位置出发,按从左到右的扫描方式访问每个像素点,根据像素值的变化实时改变当前的状态t,t1代表初始状态,t2代表第一次由白色像素点跳变到黑色像素点,t3代表第一次由黑色像素点跳变到白色像素点,t4代表第二次由白色像素点跳变到黑色像素点,t5代表第二次由黑色像素点跳变到白色像素点。当状态为t3时,记录对应的点的坐标值e1;当状态为t4时,记录对应的点的坐标值e2。

(c)求点e1与点e2的中点e3:然后从点e3沿着y轴出发,按从上到下的扫描方式访问每个像素点,遇到的第一个黑色像素点即为铆钉超过灯杯表面高度的终止点e。

步骤(3):根据铆钉超过灯杯表面高度的终止点进行图像分割:

以通过e点的y轴线作为分割线将原二值图f(x,y)分割为f1(x,y)与f2(x,y)。

步骤(4):铆钉超过灯杯表面高度的起始点定位:

(a)按从上到下,从左到右的扫描方式访问二值化图像f1(x,y)或f2(x,y)中的每个像素点,遇到的第一个黑色像素点停止,记录该点坐标值为s1,计数c置为1,并跳转到下一列i继续扫描。遇到第i列的第一个黑色像素点停止,记录该点的y轴坐标值yc,计数c加1,并跳转到下一列i+1继续扫描。直至计数c达到20为止。若某列中不存在黑色像素点,则计数c置为0。然后对连续的c个y轴坐标值按如下式作差与累加:

如果k≤5,则保留点s1,否则继续按上述方式扫描图像定位点s1。同样地,按照从上到下,从右到左的扫描方式可以定位到点s2。

(b)取点s1与点s2的中点作为铆钉超过灯杯表面高度的起始点s。

步骤(5):led玻璃灯杯凹槽深度计算:

按下式计算出led玻璃灯杯凹槽深度:

d=l-(ys-ye)×p

其中d是led玻璃灯杯凹槽深度,l是铆钉固定长度ys表示起始点s的y轴坐标值,ye表示终止点e的y轴坐标值,p表示每个像素点代表的实际距离,该系数由相机参数与镜头参数决定。通过统计起始点s与终止点e在y轴上像素点差值,并转化为实际距离,最后由铆钉固定长度减去该实际距离完成对led玻璃灯杯凹槽深度的计算。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1