模糊图像中的文字信息定位与识别

2019-06-11 11:23张伟伟
现代职业教育·中职中专 2019年2期
关键词:特征向量灰度字符

张伟伟

[摘           要]  基于图像处理与字符识别技术设计并开发了一个对模糊图像中文字信息进行定位与识别的系统,系统先对读入图像进行灰度化、二值化、滤波、细化等预处理操作,得到含有文字信息的清晰图像,然后进行字符识别,包括字符定位与分割、字符归一化处理、字符特征提取、字符匹配识别处理四步。系统采用VC6.0实现人机交互界面友好,通过实验验证系统能够定位和识别出包含纯数字或纯汉字的图片,包含各类字符的车牌图片中的文字信息。

[关    键   词]  图像处理;字符识别;特征提取

[中图分类号]  TP391.41                   [文献标志码]  A                      [文章编号]  2096-0603(2019)05-0140-02

社会发展进入信息时代,以图像为主的多媒体信息迅速成为重要的信息传递媒介,图像中的文字信息包含丰富的高层语义信息,提取出这些文字,对图像高层次语义的理解、索引和检索非常有帮助。图形图像文字识别技术早有应用,如对扫描图片进行OCR(光学字符识别)将包含文本的图像转化为文本,文字识别技术还可用于单据、车牌、标牌、银行卡账号、信封上字符的识别等。目前,国内外学者对基于机器视觉技术的数字识别做了深入的研究。本文旨在基于已有的文字识别技术设计图像预处理、字符定位、字符分割、特征提取以及字符识别方法,实现对模糊彩色图像中印刷体文字(汉字、英文字符)的识别。

论文组织结构如下:第2节介绍本文采用的图像预处理方法,第3节基于本文需求提出一个简洁有效的字符定位、分割和识别算法,第4节给出实验测试结果,最后总结全文。

一、图像预处理

在对图像中的文字进行识别之前,首先要对图像进行预处理,本文的预处理过程为:输入图片→灰度化处理→二值化处理→滤波去除噪声点→细化处理。

(一)灰度化

设原始图像为BMP(bit map的缩写)文件,其余格式的可以转化为BMP格式。BMP是Windows本身可以直接提供读取支持的位图文件格式。BMP文件可用每像素1、4、8、16或24位来编码颜色信息,这个位数称作图像的颜色深度,它决定了图像所含的最大颜色数。根据BMP文件格式可以提取出图像中每个像素的颜色值,对彩色图像,每个像素颜色由红绿蓝(R、G、B)3个分量表示,所以能显示出各种颜色。灰度图像没有这些颜色差异,有的只是亮度上的不同,灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,为黑色)。

灰度化处理就是对RGB图像进行加权求和,得到一个灰度值。本文采用式(1)计算灰度值。定义1基于RGB的灰度值定义为:

灰度值 = 0.299 * Red + 0.587 * Green + 0.114 * Blue + 0.5(1)

(二)二值化

为了更加便利地进行后续的图像处理操作,还需要对已经得到的灰度图像进行二值化处理。图像的二值化,即根据一定的标准把图像中的像素分成两种颜色。本文根据像素的灰度值将图像处理成黑白两色。

对含有字符的图像(如车牌),前景色为字符的颜色,背景像素个数显然是大于前景像素的个数。所以,可以设置像素个数少的颜色为规定的前景色,像素個数多的颜色为规定的背景色。我们采用自适应阈值法,先计算图像整体灰度的平均值,然后将此平均值作为阈值。如果灰度值大于阈值的像素数多于低于阈值的,则将灰度值大于阈值的像素设为背景色,低于阈值的设为前景色。如果灰度值大于阈值的像素数少于低于阈值的,则将灰度值低于阈值的像素设为背景色,高于阈值的设为前景色。

(三)滤波处理

采用去除杂点的方法进行去噪声处理。扫描整个图像,当发现一个前景色点的时候,就考察并计算和该前景色点间接或者直接相连的前景色点的个数,如果个数小于特定的值,那就说明该点是离散点,将其去掉(变成背景色点)。我们用递归调用法考察相连的前景色点。

(四)细化处理

由于需要处理的图像大多是从印刷出版物上扫描来的或是对印刷文字进行拍照得到的,所以在很多情况下字符会有些模糊,对字符识别造成一定的困难。可以对图像进行锐化处理,使模糊的图像清晰。

本文采用Hilditch算法,该算法通过判断去掉图像中是边界点而不是连通点的像素点。对一个矩形区域,从左上角开始到右下角,每次扫描可以将矩形最外面一层剔去,层层剥离后,最终只剩下最中间的细化图像。

二、字符识别算法

(一)字符定位与分割处理

本文通过水平方向和垂直方向的投影定位和分割图像中包含的字符。理论上,水平投影、垂直投影后,所以可以对空白处进行行和列的分割。不过实际应用中还有很多细节需要考虑,例如左右结构的汉字经过垂直方向的投影,可能被分成两个甚至三个部分,另外汉字和英文字符混合时实现正确的分割就更为复杂。对于图像矩阵,从上到下逐行扫描,先设置状态为未发现文字。

Step1:状态为未发现文字且未到图像末尾时循环做:如果当前行的前景色像素数为0,则设置该行为一行文字的开始,然后继续往下扫描,如果当前行的前景色像素数大于0,则设置状态为已发现文字。

Step2:状态为已发现文字且未到图像末尾时循环做:如果当前行的前景色像素数大于0,则继续往下扫描,如果当前行的前景色像素数为0,则设置该行为一行文字的结束行,将包含一行文字的数据重新存放在一个数组中,再对这一行文字进行列分割得到一个个汉字或英文字符,之后再进行字符识别,然后将状态设为未发现文字。重复上述两步。

字符分割复杂之处在于区分左右结构的汉字和英文字符。自适应的通过列分割提取出一个个文字(字符)分为两步:

Step1:在分割了行之后,进行一次垂直方向投影,基于投影中的空隙分离出一个个“疑似字符”,计算每个疑似字符的投影宽度,以及疑似字符与疑似字符之间的空隙宽度;从大到小排列空隙宽度,得到空隙宽度中位数,记为gm;汉字是方块字,从大到小排列疑似字符的投影宽度,取最大的汉字宽度,记为wb。

Step2:使用宽度>=gm的空隙分割一行文字得到若干块;对其中的某块ch(左右不含空隙),如果它仅包含一个疑似字符,那么若其宽度接近于wb,则判断ch为一个汉字否则是一个英文字符;如果ch包含若干疑似字符,那么若其宽度接近于wb,则判断ch为一个汉字,否ch则若宽度小于wb,则进一步分割成若干英文字符,否则,也即ch宽度大于wb,则用ch中最大空隙将ch分成两部分,再按照上面方法判断块所包含的字符。

(二)字符归一化处理

首先,可以通过预先设定一个参数进行字符的归一化处理,即对已经分割好的字符图片进行放大和缩小,但是处理后会使较大的字符图像损失较多的信息。因此本文在字符分割之后对字符的大小求一次平均,将图片归一化为平均字符大小,以降低字符图片信息的损失。

计算出归一化需要的平均字符大小后,对字符图像用插值法进行放大或缩小。由原字符图像的宽和高与平均的宽和高,得出要变换的系数,把新图像里的点按插值法映射到原图像中,生成新图像。

(三)字符特征提取

特征提取的方法是自左向右对图像进行逐列的扫描,统计每列的前景色像素的个数,然后自上而下逐行扫描,统计每行的前景色像素的个数,将统计结果作为字符的特征向量。

我们决定采用一种基于投影归一化的字符特征提取方法,从行投影到列投影,再加上两个方向的斜投影,通过归一化处理将投影统计向量转化成与字库中相同的特征向量。

(四)字符識别处理

在字库中存储的是每一个字符(包括汉字)的特征向量,一个特征向量对应一个字符,将提取出的待识别字符的特征向量和字库中字符的进行匹配,搜寻和这个特征向量最接近的字符,也就是采用欧氏距离判别法将距离最相近的字符作为匹配结果。

定义2设待识别字符的特征向量为xf1,xf2,...,xfn,字库中字符的特征向量记为xh1,xh2,...,xhn,这个字符和字库中字符之间的距离定义为:

三、实验测试

本文使用VC6.0的MFC设计实现了简易的人机交互界面,如图所示,靠人工输入待识别图片。用户通过点击预处理,版面分析,字符识别后得到识别结果。

识别软件可以自动寻找图片上需识别字符的位置,对含有有效信息字符的区域进行特征分析(其余部分不再分析)。同时,将区域中每个字符的特征和字库中各字符的特征进行对比,选择与其最相近的字符作为识别结果。程序转化速度快,内容较准确,结果可以以字符形式显示在对话框中。

四、总结

本文基于图像处理与字符识别的相关技术,能够对图片上相应的文字进行分割选取并转化成为文本;能够识别多种信息类型(如身份证号、车牌号、敏感文字)文字,识别、转化速度快;使用C++编程,容易改写为C代码,方便移植到某些硬件平台上(如DSP);可以对现有字库进行特定场合的修改,提高识别速度和效率,减小程序的存储空间。

本文的设计可以用于网络图像中敏感文字的识别(通过字符识别及字符串搜索匹配)与删除。在物流应用中可以识别身份证复印件上的身份证号码、电话号码和快递单号等,从而帮助快递员更快更准确地签发快递;在交通管理应用中可以识别车牌号码,快捷有效地对违章车辆进行处理。

参考文献:

[1]郭爽.数码管数字仪表自动识别方法的研究[J].通信技术,2012,45(8):91-93.

[2]李素萍.基于图像处理的数字仪表识别技术[J].机电一体化,2013,19(6):84-86,90.

[3]魏武,黄心汉.基于模板匹配和神经网络的车牌字符识别方法[J].模式识别与人工智能,2001,14(1):123-126.

[4]杨枝灵,王开.数字图像获取、处理及实践应用[M].人民邮电出版社,2003.

[5]何斌,马天予,王运坚,等.VisualC++数字图像处理[M].北京:人民邮电出版社,2002:465-471.

[6]沈庭芝,方子文.数字图像处理及模式识别[M].北京:北京理工大学出版社,1998:169-170.

编辑 陈鲜艳

猜你喜欢
特征向量灰度字符
高中数学特征值和特征向量解题策略
Python实现图片转字符画
天津港智慧工作平台灰度发布系统和流程设计
华为“灰度”哲学
Arduino小车巡线程序的灰度阈值优化方案
正则表达式快速入门
图片轻松变身ASCⅡ艺术画
三个高阶微分方程的解法研究
氨基酸序列特征向量提取方法的探讨
视频监视系统中字符叠加技术的应用