潘宇+林筠烁
摘 要:以识别汽车座椅蛇簧挂钩的四种典型放置状态为背景,提出一种基于二值图像求解对象区域顶点坐标与中值线来识别放置状态的一种算法。
关键词:蛇簧挂钩;识别放置状态;顶点坐标;中值线
一、引言
汽车座椅框架焊接的生产现场是以人工递送蛇簧挂钩放到座椅框架的固定位置上,电阻焊到一起,这种生产有安全风险,放置位置不准确,工作效率低下等问题。若采用工业摄像头抓取蛇簧挂钩图像识别其放置状态,以便机械手抓取进给递送,作业快速准确安全。本文基于MATLAB平台,设计了一种识别蛇簧挂钩四种典型放置状态的处理算法,以实现汽车座椅框架的焊接流水线作业的自动化生产。
二、蛇簧挂钩四种典型放置状态识别的总体方案
如图1所示,蛇簧挂钩的四种典型放置状态有【钩口向下且在左】、【钩口向下且在右】、【钩口向上且在左】和【钩口向上且在右】四种。经观察,这四种放置状态相同的是图像都具有顶点,不同的是顶点在对象区域的位置不同;若在对象区域中部画一条竖线,则该竖线的长度也不同。因此,将利用这四种放置状态的顶点P(Xfeature,Ymin)与x坐标中值Xmed,研究识别这四种放置状态的一种算法。
三、蛇簧挂钩四种典型放置状态的图像识别前期处理
采集20组(共80幅图像)四种典型放置状态的图像样本,把RGB图像进行灰度化处理,采用中值滤波去燥,利用最大类间方差法分割图像,选最佳阈值h-0.025,将图像转化为二值图,如图2。最后,采用区域填充的图像分割形态学处理,以利于图像的识别。
四、蛇簧挂钩四种典型放置状态的识别
(一)find函数介绍
find函数是用于二值图中查询满足要求的特征点(像素值不为0)在图像中位置的函数。其调用格式为:[m,n]=find(BW==1), m,n需说明:图像处理中通常以矩阵表示图像的数据结构,而矩阵中元素的坐标一般是按照(row, col)(即纵坐标,横坐标)表示。这与笛卡尔坐标系相左。
(二)蛇簧挂钩四种典型放置状态识别的算法编程思路
首先,将蛇簧挂钩所有点的索引找出,转换为笛卡尔坐标,即找出二值图中所有像素值不为0(灰度级为白色)的点,对其索引矩阵进行转置。其次,调用median函数计算出横坐标x的中值Xmed,再用find函数找出对应横坐标为Xmed的所有特征点,组合成Xmed线。最后,调用min函数计算出纵坐标y的最小值Ymin(因为索引图像原点O位于矩阵左上角,蛇簧挂钩顶点的row值为最小值),再用find函数找出对应纵坐标为Ymin的所有特征点,取出所有特征点的横坐标x的中值Xfeature,顶点即P(Xfeature,Ymin)。至此,由Xmed线长识别【钩口向下】和【钩口向上】两种状态,将Xmed与Xfeature比较识别【钩口在左】和【钩口在右】两种状态,二者综合,如图3所示,最终识别出蛇簧挂钩四种典型状态。
(三)蛇簧挂钩钩口朝向的状态判定
由图3可得,【钩口向下】的Xmed线长度明显大于【钩口向上】。因此,求出蛇簧挂钩对象区域的Xmed线,利用该线上最高点和最低点纵坐标的差得出线长,以Xmed线的长短区分【钩口向下】和【钩口向上】两种状态。为找到能明显区分这两种状态Xmed线长度的可靠中间值,对80幅样本图像的Xmed线长度进行求解运算,并找出了【钩口向下】的长度最小值272和【钩口向上】的长度最大值107,由此,将快速识别【钩口向下】和【钩口向上】两种状态的Xmed线长度取为:190。
图1四种放置状态图
图2阈值分割(例:a、c)
图3填充后加中值线(例:a、c)
(四)蛇簧挂钩钩口位置的状态判定
由图3可得,【钩口在左】的顶点坐标P(Xfeature,Ymin)在Xmed线左侧,【钩口在右】的顶点坐标P在Xmed线右侧。因此,求出蛇簧挂钩对象区域的顶点坐标P和Xmed线,将P点的横坐标Xfeature与Xmed进行比较,以此区分【钩口在左】和【钩口在右】两种状态。对80幅样本图像对象区域的顶点坐标P和x中值进行求解并进行比较,当Xfeaturexie
五、结论
对蛇簧挂钩四种典型放置状态的识别,是通过求区域图像的顶点坐标P(Xfeature,Ymin)和图像x中值Xmed综合比较实现的。测试结果表明,该算法准确可靠,具有应用价值,可使自动化生产快速准确安全。