张 庚,李 丹,周 亮,常 亮
(中国电力科学研究院信息通信研究所,北京 100192)
摘 要: 为了对数码管仪表的数字识别系统进行改进和优化,提出了一种新的数字识别方法。对于摄像机采集到的图像,首先进行图像预处理,包括灰度转换、中值滤波和二值化等。简单介绍了字符区域定位和字符分割的算法,在字符识别之前对分割得到的区域设置了一些限制条件,防止将噪声区域误判为数字。从穿线法得到启示,采用直线和字符的交点和标识矩阵元素的分布来构造识别特征对数字0-9进行分类识别。该算法在保证识别精度和抗干扰性的条件下,大大降低了运算量,具有较高的应用价值。
关键词: 数字识别;数码管;外接矩形;交点;标识矩阵
0 引言
七段式数显仪表有着诸如易读数、无需估读、准确度高、可调整模式和参数等很多优点,被人们广泛应用于机械、化工、医药、电子、金融等各行各业中。由于电力行业恶劣环境的影响,人工操作危险性极高,不利于人为去记录仪表的数据。利用数字图像处理技术和识别技术可以实现数显仪表的自动识别,不仅可以提高工作效率,保证提高准确率,而且可以消除人工现场操作的危险性,这些都表明数显仪表的数字识别技术研究具有非常重要的实用价值[1,2]。对于数字字符识别,人们提出了很多方法, 包括模板匹配法、统计决策法、句法结构法、模糊判别法、逻辑推理法、神经网络法等[3]。模版匹配法对每个模式类都定义一个标准的模式,这种方法适用于印刷体数字的识别;统计决策法是在概率论和数理统计的基础上形成的,抗干扰能力强,但是难以反映模式的精细结构特征;神经网络法需要通过自身的学习机制形成决策区域,网络的特性由拓扑结构神经元特性决定,利用状态信息对不同状态的信息逐一训练获得某种映射,但该方法过分依赖特征向量的选取[4]。申小阳[5]提出的交线特征提取的分类识别法,过程比较繁琐,选取的扫描位置不具有代表性。本文提出了改进的交线特征和标识矩阵元素的分布特征法,并且提出对于分割得到的可能的数字区域设定限制条件,提高了数字识别的准确率。
1 数字仪表的字符识别流程
七段式数显仪表中数字字符识别是通过使用数字图像处理、模式识别等方法,对图片中的数字内容进行自动识别。七段式数显仪表的识别流程主要包括5部分,如图1所示。
2 图像预处理
摄像机在采集图像的过程中,可能会受到实际采集环境以及摄像头与目标图像的距离和角度等因素的影响,最终传输到计算机的图像可能存在模糊和噪声缺陷[6,7],这些缺陷会影响到字符的正确分割和识别,所以在对图像进行字符分割和识别之前,需要对图像进行预处理操作。
2.1 灰度化
摄像头采集到的图像是含有大量颜色信息的彩色图像,使用彩色图像,增大了数据的处理量,严重影响图像识别的速度和效率,而且降低了图像识别的正确率[8]。灰度图像是指只含亮度信息、不含色彩信息的图像,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值,灰度范围为0-255,共256个值。本文采用的加权法来灰度化,根据重要性及其他指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。转换关系为:
f(i,j)=0.3R(i,j)+0.59G(i,j)+0.11B(i,j)(1)
2.2 中值滤波
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点。
2.3 二值化
图像二值化的关键在于通过寻找合适的阈值将要识别的目标和图像的背景区分开来[9]。采用最大类间方差法Otsu来实现二值化,假设分割阈值是T,属于前景的像素点数占整幅图像的比例记为w0,其平均灰度u0;背景像素点数占整幅图像的比例为w1,其平均灰度为u1。另g为类间方差,则g表示为:
g=w1w0(u0-u1)2 (2)
采用遍历的的方式,当g取最大值时,T值即为分割阈值。
3 数字区域定位和分割
字符区域定位的主要目的是从预处理后的二值图像中确定仪表显示区域的具体位置,并将包含字符的子图像从整个图像中划分出来[10]。仪表显示区域字符串的定位方法主要有双向投影法、区域生长法、边缘检测法。
字符分割是指将用户所选取的数字区域分割成单个的数字区域。本文中字符分割采用的是双向投影法,这一环节效果的好坏将会直接关系到下一个环节,会影响到数字字符特征提取和识别的正确与否。因此本文对于字符分割得到的区域设置了一些限制条件,以解决遇到混入噪声的区域被判断成其他数字的问题[11,12]。设第k个被识别为数字区域的外接矩形为Rk,这个可能区域的横坐标、纵坐标、宽度和高度分别为xk,yk,wk,hk,设定以下限制条件:
s0 |yk-yi|< |hk-hi|< 以上三个式子分别从区域外接矩形的面积、高度差、纵坐标三个方面进行了限制。式(3)限制区域的大小,七段数码管的每个数字显示区域的大小除了1外,其余大都相同。s0值应该取1的外接矩形的最小值,s1应该比实际值略大一点。式(4)和式(5)表示外接矩形的高度和纵坐标应该基本相同,但是考虑到拍摄的图像中可能存在倾斜,因此a1的值略大于a0,但两者的值都很小。下面对区域内部的像素设置一些限制条件,设图像第m行第n列的像素为p(m,n),值为0表示黑,值为1表示白。 在经过上述限制条件后,得到的数字区域在外形上是可信的,式(6)表示该区域的像素不能是全白或者全黑,b0的值接近于0,b1的值接近于1。 4 交点特征提取的数字识别 4.1 数字识别 字符识别属于模式识别的范畴,模式识别的方法主要有统计方法和结构方法[13]。本文提出的方法结合了统计和结构,从穿线法得到启示,采用直线和字符的交点作为提取字符特征和识别的手段。例如选取0和2,在中垂线处扫描,0的交点数为2,2的交点数为3,这样就把2和3区分开了。在实际提取特征时还需考虑到字符和直线的交点是假想的,当字符在直线的方向像素由白变黑就认为字符和这条直线有一个交点[5]。从理论上来讲,扫描线的数量越多,提取的特征越准确,但是会增大运算量,因此选取的直线数和位置很关键。选取的直线数和位置如图2所示。 由图2可知,选取了3个位置进行扫描,分别标记为A、B、C。对于字符先进行水平扫描,直线A、B在数码管的3/4和1/4处,从左到右扫描,如果出现像素由白变黑就加1,直到扫描结束。然后进行垂直扫描,选取直线C为1/2处,将字符垂直平均分割成两部分,从上到下扫描,同样每次出现像素由白变黑就加1,直到扫描结束,得到的0-9的交点数如表1所示。 对于字符1的识别可以提取字符宽度特征,宽度特征是一个相对值,它表示的是字符最大宽度与最小宽度的比值[8],该特征对于将 1 与其他数字分开是很有效的。由表1可知2、3、5的交点数完全一样,根据交线特征无法识别出来,可以根据标识矩阵[13]中数字竖直中线左侧一列非0 和非 1 元素的重心分布来分类。对于数字“3”,竖直中线左侧几乎没有目标元素,像素重心位于水平中线下侧的则为“2”,重心位于上侧的则为“5”。 4.2 小数点识别 一般仪器显示的数据都存在小数点,所以确定小数点的位置极其重要。本文提出的方法对于小数点的识别不是很理想,因此根据小数点的几何特征以及位置特征对其进行识别,最后加入到数字识别结果中。首先考虑到小数点的外形类似圆,因此它的外接矩形应该类似于正方形,它的坐标虽然宽度与1相近,但高度上与1有着很大的区别[14],它的外接矩形长宽比接近 1 ,并结合位置信息,小数点通常处于数字的右下角,这样就可以准确地识别出来了。 5 结束语 本文从七段式数显仪表中的数字字符识别入手,提出了一种新的数字识别方法,结合了字符宽度、直线和字符的交点、标识矩阵元素分布和重心等多个特征来提取字符特征,并提出数字分割后得到的区域进行筛选后再识别,实现了效果比较好的仪表数字实时识别系统。采用这种方法的优点还在于这种处理方法不需要进行归一化与细化处理。在具体的实施中,利用C++编程实现该系统,实验表明该方法正确识别率达到96%以上,但是对于实时系统来说,字符区域的定位速度和识别时间还不是很理想,因此在后续的工作中,要进一步优化和完善字符分割和识别算法,以达到识别率更高和实时性更好的目的。 参考文献 [1]郑小清.数显仪表的自动识别检测技术应用实例[J].科技世界,2013(21):49-50. [2]穆克,韩志刚.有毒有害气体报警器数字检测系统的设计[J].辽宁石油化工大学学报,2012,32(1):75-83. [3]刘丹,穆林丽,余晓锷,等.一种七段数码管式医用仪表的自动识别方法[J].科学技术与工程,2010,10(16). [4]张彤,肖南峰.基于BP网络的数字识别方法[J]. 重庆理工大学学报(自然科学),2010,3(24):43-47. [5]申小阳,唐轶峻,姜柏军,等.仪表的数字字符识别系统[J]. 仪表技术与传感器,2005(6). [6]田自君.数显仪表数字字符快速识别系统的研究[D].成都:电子科技大学,2007. [7]郭爽. 数码管数字仪表自动识别方法的研究[J]. 通信技术,2012,8(45):91-93. [8]郝巧红. 高压变电站数显仪表的识别[D].天津:天津大学,2007. [9]尤晓俊.基于图像识别的数字仪表自动校验系统研究[D].安徽:安徽理工大学,2013. [10]崔行臣 .数显与指针仪表示值识别技术的研究与应用[D].山东:山东师范大学,2011. [11]GONZALEZ R C,WOODS R E. Digital Image processing [M]. Beijing:Publishing House of Electronics Industry,2007. [12]刘文亮.七段式数显仪表中数字识别的研究与实现[D].大连:大连理工大学,2013. [13]崔行臣,段会川,王金玲,等.数显仪表数字实时识别系统的设计与实现[J]. 计算机工程与设计,2010,31(1):0214-0217. [14]王蓉芳,汪仁煌,康亚芬.基于数码管机器视觉的小数点识别[J].电子测试,2008(11):17-20.