由于操作过于频繁,请点击下方按钮进行验证!

基于视觉的生产线上零件数字编号识别系统

1. 南海广播电视大学, 广东南海 528200; 2. 华南理工大学机械学院, 广东广州 510640
摘要: 介绍用于自动生产线上零件打印数字编号自动识别的高速实时图像处理系统的研制。系统采用抽出一种数字特征结合扫描跟踪像素的算法进行识别。实践表明, 本算法速度快, 精度高, 抗干扰能力强, 满足实际使用的要求。
关键词: 打印体数字识别; 预处理; 特征提取; 扫描跟踪
中图分类号: TP391 文献标识码:A  文章编号: 1001- 2265(2004) 03- 0108- 02
D ig it recogn ition system of mach ine part on product l ine ba sed on mach ine v is ionTAN G Yuhu i YAN GM in L IU Q ihongAbstract: Study on p rinted digit h igh - speed recognit ion image p rocessing system of mach ine parts used in automatedp roduct line is int roduced. The system recognize digit by ext ract ing a digital feature in conjunct ion w ith scanning andt racing digital p ixels. The p ract ice show s the algo rithm is fast and p recise and robust. .
Key words: p rinted digit recognit ion; p rep rocessing; feature ext ract ion; scan t racing

1 概述
本研究内容是针对东莞加浦公司自动生产线上的零件控测实际应用而提出的, 对生产线上零件编号进行基于机器视觉的自动识别。基于本应用的特别性, 要求数字识别处理速度快, 识别准确率高。传统的打印体数字识别方法有整体模板匹配, 局部模板匹配等方法。整体模板匹配方法要对10 个数字分别进行相关运算, 要耗费大量的时间, 如果数字的尺寸较大, 那么相关运算的时间就会更加难以忍受, 而且整体模板匹配方法要受到模板尺寸固定的影响, 一旦实际数字的大小发生了变化, 就不能够准确识别出数字。局部模板匹配方法首先对经过预处理后的数字进行编码, 然后对编码的局部特征进行匹配运算。局部模板匹配方法比较整体模板匹配方法在处理速度上有所改进, 但还会受到模板尺寸固定的影响。近来, 有的学者对打印体或印刷体数字提取特征进行识别, 但要提取多个特征, 识别的速度往往难以满足生产线上的数字识别应用。本文提出了一种只需提取数字的一个特征, 再进行像素跟踪进行快速、准确、适应性强的识别算法。
2 预处理
对数字识别前, 均要对图像进行预处理, 然后在预处理后的图像上进行识别。预处理包括: 二值化, 孤立点或小区域非数字域滤波, 号码区域分割, 细线化。
2. 1 二值化
采用自动判别阈值方法来进行二值化处理。该方法中, 取下式所表示的分离度F(T ) 为最大时的T 值为阈值:

 

2. 2 孤立点或小区域非数字域滤波
孤立点或小区域非数字域滤波处理的目的就是去掉二值化图像中的非数字噪声像素点。选择合适的结构元素, 使用形态学开运算就能够很好地去掉小区域非数字域。
2. 3 号码区域分割
一幅零件编号图像中往往有多个数字, 为了便于识别, 需要把各个数字分割开。在二值化图像中, 零件上的数字编号区域形状近似于矩形。图像中数字域与背景域的边界部分的灰度由黑变白的变化率很大, 且数字之间是不连通的, 根据这些特性可以把数字分割出来。
2. 4 细线化
细线化处理的目的是使每个数字二值图像中只含单像素连通中轴骨架。采用文献[3 ]中的细化算法对数字进行抽取骨架处理。
3 数字识别处理
利用抽取出的编号图像进行数字识别处理。数字识别分为以下两个阶段进行: 各数字“端点数”的计算; 数字像素跟踪识别。

3. 1 数字端点数特征提取

 
如图1 所示,是数字0~ 9 的端点数的分类。图1中, 用方框围住的部分即为数字的端点。对于打印体数字端点计算的具体算法如下: 对数字的骨架图像分别从上到下和从下到上同时进行扫描, 直到扫描在数字中间相遇就停止扫描, 找到符合为端点的像素, 扫描完成后合计端点数。满足为端点的像素条件:在数字像素的八近邻区域中白色像素的个数只有一个, 这样的像素即为数字的端点像素。
3. 2 数字像素跟踪识别

 
数字像素跟踪识别过程是个综合的过程。它将结合打印体数字的端点数, 对待识别的数字进行骨架跟踪, 根据骨架像素的八邻域方向的特征进行识别(如图2)。具体算法如下:
(1) 计算数字的端点数。如果数字端点数为0 个, 则待识别的数字可能为0 或者8; 如果数字端点数为1 个, 则待识别的数字可能为6 或者9; 如果数字端点数为2, 则待识别的数字可能为1, 2, 3, 4, 5, 7 中的一个。即根据数字的端点数把待识别的数字归为三类中的一类。

(2) 端点数为0 的数字识别。当根据端点数把待识别的数字定为0 或8 时, 则从上向下水平扫描待识别数字。扫描最先遇到的像素(即为数字最顶端的像素) 作为起始点, 然后从左向右, 从上向下跟踪待识别数字的骨架像素。跟踪过程中, 如遇到分叉多个方向, 则判断待识别数字为8; 如果没有分叉则为0。如图3 所示, 数字8 跟踪分叉示意。
(3) 端点数为1 的数字识别。当根据端点数把待识别的数字确定为6 或9 时, 则从上向下和由下到上分别扫描待识别的数字, 找到上下第一个数字像素。然后, 分别以上方第一个像素和下方第一个像素为起始点, 同时从上向下和由下到上从两个起始点开始扫描。如果是从上向下先扫描到端点, 则判断待识别数字为6; 如果是由下到上先扫描到端点, 则判断待识别数字为9。如图4 所示。端点数为1 的数字识别方法也可以采用下面端点

 

图4 上下同时扫描示意 图5 左右两方向水平扫描示意数为2 的数字识别方法, 但此方法速度稍快。

(4) 端点数为2 的数字识别。端点数为2 的数字为1, 2, 3, 4,5 和7。对这6 个数字跟踪扫描识别规则如下: 同时由左向右和由右向左水平方向从上向下扫描整个待识别数字, 两个方向的扫描线在一个扫描行中只要第一次遇到数字的像素就停止该行扫描, 并且判断该像素是否为端点, 如果为端点像素则记下其坐标位置, 然后直接进行下一行的扫描, 直到扫描完整个数字。扫描完整个数字后, 统计左右两个方向的扫描线所遇到的端点数。根据左右两个方向扫描到的端点数就可以正确判断1, 3, 4和7 四个数字, 根据左右扫描的端点的坐标位置就能够区分2和5 两个数字。图5 为两个方向扫描示意。表1 为左右两个方向扫描端点数特征统计。

 

4 实验结果
我们用V isual C. N ET 编制了零件编号识别系统软件。已经应用到实际生产线上的零件编号识别, 每个零件编号识别过程均在30m s 时间内完成, 满足生产线在线识别要求。实践证明, 本算法简洁、快速、可靠、实用、抗干扰性强。
[参考文献]
[ 1 ] 严国莉, 黄山, 李岱璋. 印刷体数字快速识别算法在身份证编号数字识别中的应用[J ]. 计算机工程, 2003 (1) : 178~179
[ 2 ] 钟锐, 黄华. 一种用VB 实现的印刷体数字识别方法[J ].计算机工程, 2003 (5) : 106~ 107
[3 ] 崔屹. 图像处理与分析数学形态学方法及应用[M ]. 北京:科学出版社, 2000: 47~ 55, 67~ 76
收稿日期: 2003- 11- 06作者简介: 唐宇慧(1968- ) , 女, 任职于南海广播电视大学,工程硕士。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到