一种大棒端面标记方案及字符图像矫正方法与流程

文档序号:17833858发布日期:2019-06-05 23:18阅读:352来源:国知局
一种大棒端面标记方案及字符图像矫正方法与流程

本发明涉及一种标记方案及其图像矫正方法,尤其是涉及一种大棒端面标记方案及字符图像矫正方法。



背景技术:

棒材是当前钢铁行业的主要产品,更是工业领域重要的生产加工原材料。在不同行业对于棒材的质量要求也是不同的,钢铁行业所生产的棒材规格也是多种多样。目前,棒材的端面字符是通过喷印形式完成的,面对大批量重复性和枯燥性的工作,很容易使工人产生视觉疲劳并导致出现错误,随着计算机视觉识别技术的发展,应用视觉智能识别代替现生产线上的人工问题成为了发展趋势。因此,迫切需要自动化的识别生产线。要想实现智能化信息跟踪首先需要解决的是识别过程中棒材端面字符倾斜问题,所以字符矫正方法是其核心关键技术之一。

结合钢厂生产线的实际情况而言,在进行棒材输送过程中,当到达指定工位时棒材端面的字符呈任意角度倾斜,存在随意的字符姿态,这样就会为后续的识别工作造成影响,使得识别结果不准确,而字符矫正的方法对于整个识别系统来说是至关重要的,要求任意倾斜角度的完全矫正。对于棒材中直径规格较大的大棒来说,其端面面积较大,可以标记较多的信息。本发明针对大棒端面标记及识别问题提出一种大棒端面标记方案及字符图像矫正方法用来解决大棒端面的字符呈任意角度的图像矫正问题。



技术实现要素:

基于以上原因,本发明旨在提出一种大棒端面标记方案及字符图像矫正方法,为最终实现大棒端面标记字符的自动识别奠定技术基础。本发明是根据大棒自身的特点提出的一种大棒端面标记方案及字符图像矫正方法。

本发明一种大棒端面标记方案的标记字符由百位字符1、十位字符2、个位字符3和二维码4组成。百位字符1、十位字符2、个位字符3和二维码4均布置在大棒端面上且与大棒端面的边缘保留一定距离。百位字符1、十位字符2和个位字符3从左往右等间距水平布置形成三位字符,百位字符1、十位字符2和个位字符3形成的三位字符的中心在大棒端面中心偏下的位置,二维码4位于十位字符2的正上方大棒端面中心偏上的位置。

字符矫正方法分为两步矫正:首先求取二维码中心的像素坐标值,通过三角函数求出初始旋转角度;然后通过统计垂直投影列数和最小值的矫正算法完成最终角度的矫正。

采用本发明标记方案的一种大棒端面标记字符矫正方法包括如下步骤:

(1)采用视觉系统采集大棒端面图像并做预处理;

(2)求取大棒端面中心像素坐标;

(3)采用视觉系统采集大棒端面标记字符图像并做预处理;

(4)求取二维码中心像素坐标;

(5)求取一次旋转角度和方向并对图像做一次旋转进行初步矫正;

(6)裁剪出二维码图像并求取二次旋转角度;

(7)对大棒端面标记字符图像做二次旋转完成最终矫正。

本发明的有益技术效果是:本发明的大棒端面标记方案简单、易于识别;识别方法是通过连通域面积分析法求取二维码中心的像素坐标值,通过三角函数求出一次旋转角度进行初步矫正并裁剪出二维码图像,以裁剪得到二维码图像为基准通过统计垂直投影列数和最小值的矫正算法计算得到二次旋转角度,对大棒端面标记字符图像进行二次旋转,完成最终角度的矫正,有较高的矫正精度和效率。

附图说明

图1是本发明一种大棒端面标记方案示意图;

图2是本发明一种大棒端面标记字符矫正方法的一次旋转原理示意图。

具体实施方式

以大棒精整生产线为应用场景,结合附图1-2说明本发明的内容与操作。

本发明一种大棒端面标记方案的标记字符由百位字符1、十位字符2、个位字符3和二维码4组成。百位字符1、十位字符2、个位字符3和二维码4均布置在大棒端面5上且与大棒端面5的边缘保留一定距离。百位字符1、十位字符2和个位字符3从左往右等间距水平布置形成三位字符,百位字符1、十位字符2和个位字符3形成的三位字符的中心在大棒端面5中心偏下的位置,二维码4位于十位字符2的正上方大棒端面5中心偏上的位置。

由百位字符1、十位字符2和个位字符3组成的三个字符为001-999,代表该炉生产的第1根到第999根大棒。二维码4的二维码信息包含但不限于百位字符1、十位字符2和个位字符3组成的三个字符的信息。二维码4的面积大于百位字符1、十位字符2和个位字符3的面积。

采用本发明标记方案的一种大棒端面标记字符矫正方法包括如下步骤:

(1)采用视觉系统采集大棒端面图像并做预处理;

(2)求取大棒端面中心像素坐标;

(3)采用视觉系统采集大棒端面标记字符图像并做预处理;

(4)求取二维码中心像素坐标;

(5)求取一次旋转角度和方向并对图像做一次旋转进行初步矫正;

(6)裁剪出二维码图像并求取二次旋转角度;

(7)对大棒端面标记字符图像做二次旋转完成最终矫正。

根据实施现场的环境建立用于大棒端面标记字符识别的视觉系统,能够获取大棒端面的清晰图像。

1.采用视觉系统采集大棒端面图像并做预处理

采用视觉系统对大棒端面图像进行采集,采集时需要光照使大棒端面图像高亮显示,对大棒端面图像进行预处理,得到大棒端面的二值图像i。

2.求取大棒端面中心像素坐标

大棒端面图像的像素坐标系为xoy,以大棒端面二值图像的连通域中心坐标为大棒端面中心像素坐标(x0,y0)。在matlab编程语言环境下,利用regionprops(i,'centroid')函数计算得到大棒端面中心像素坐标(x0,y0),用regionprops(i,'area')函数计算并取整得到大棒端面半径的像素值r。

3.采用视觉系统采集大棒端面标记字符图像并做预处理

采用视觉系统对大棒端面标记字符图像进行采集,采集时需要关闭光源使大棒端面标记字符高亮显示,对大棒端面标记字符图像进行预处理,得到大棒端面标记字符的二值图像。取δ为大于0的像素值,则裁剪后的大棒端面图像区域为:x方向范围[x0-r-δ,x0+r+δ],y方向范围[y0-r-δ,y0+r+δ]。裁剪后得到的大棒端面标记字符的二值图像ii。

4.求取二维码中心像素坐标

对二值化的大棒端面标记字符图像ii计算图像连通域面积的大小。大棒端面标记字符中百位字符1、十位字符2和个位字符3的连通域面积大致相同,而二维码4的连通域面积要明显大于百位字符1、十位字符2和个位字符3的连通域面积。根据二维码4的连通域面积最大的特点找到二维码4。

以二维码4二值图像的连通域中心坐标为二维码中心像素坐标。在matlab编程语言环境下,利用regionprops(ii,'centroid')函数计算得到。

5、求取一次旋转角度和方向并对图像做一次旋转进行初步矫正

得到二维码中心点理论位置与实测位置的两个像素坐标的关系如图2所示。已知大棒端面中心的像素坐标(x0,y0),θ1为一次旋转的角度,十字形点代表大棒端面标记字符图像无倾斜状态下的中心像素坐标,米字形点代表大棒端面标记字符图像倾斜状态下的中心像素坐标。大棒端面标记字符图像无倾斜状态下的中心像素坐标为(x0-r-δ,y0-r-δ)。令r为大棒端面中心点和实测的二维码中心点之间的像素值距离,则二维码中心点理论位置为(x0-r,y0),a为实测的二维码中心点和二维码中心点理论位置之间的像素值距离。根据θ1=arccos(1-a2/2r2)可求出一次旋转角度θ1。求出的一次旋转角度后还需要判断旋转方向。一次旋转方向的判别原理是通过判断实测的二维码中心点是在大棒端面中心的左侧还是右侧,也就是实测的二维码中心点像素坐标的y值比大棒端面中心像素坐标值小还是大,如果实测二维码中心点像素y坐标值大于r+δ,则实测的二维码中心点在右侧,就需要逆时针旋转才能进行倾斜矫正。反之,需要顺时针进行矫正。得到一次旋转角度和旋转方向后,对图像做一次旋转进行初步矫正。用thet1表示θ1,在matlab编程语言环境下,利用函数imrotate(ii,thet1,'bilinear','crop')进行第一次旋转的初步矫正得到初步矫正的大棒端面标记字符图像iii。函数参数thet1为逆时针旋转角度,当一次旋转为逆时针时thet1=θ1,当一次旋转为顺时针时thet1=-θ1。

6、裁剪出二维码图像并求取二次旋转角度

完成一次角度旋转之后,并没有将大棒端面标记字符图像完全矫正,还需进行二次矫正。l为二维码的边长。先把初步矫正的大棒端面标记字符图像以二维码图像中心为中心、以l+δ为边长的正方形裁剪出二维码图像iv,接着再用裁剪出的二维码图像求取二次旋转的角度。

二次旋转角度求取采用的方法是:以初步矫正的二维码图像iv为基准设定一个二次旋转角度范围,在该范围内进行一度一度的循环旋转,每旋转一度就对该二值图像进行列循环,对每一列灰度值的和不为0的数值进行统计,字符完全矫正过来的字符列和不为0的列数最少,以此时角度作为二次旋转角度θ2。

7、对大棒端面标记字符图像做二次旋转完成最终矫正

根据上一步得到的二次旋转角度θ2,对初步矫正的大棒端面标记字符图像iii做二次旋转完成最终矫正得到最终矫正的大棒端面标记字符图像v。用thet2表示θ2,在matlab编程语言环境下,利用函数imrotate(iii,thet2,'bilinear','crop')进行第二次旋转完成最终矫正。

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