广东电网有限责任公司 惠州供电局
摘要:基于图像文字识别技术和安卓平台开发软件,改进光纤定检数据的录入方式,省去手写、电脑录入等环节,提高数据录入效率,并使通信定检数据存储方便、提取与调用更加便捷,并为进行数据挖掘提供可能。
关键词:图像文字识别;纤芯定检;电力通信
1背景和意义
图像文字识别作为一种数据录入形式,在实际应用中十分广泛,目前,基于安卓移动终端的图像文字识别技术收到越来越多开发人员的的关注,并制作出用于名片、票务、照证件等资料识别的专用手机应用。图像文字识别常见工作方式包括:①通过扫描、拍照的方式获取包含文字的图像;②通过检测亮暗模式确定其形状,并把获取的图像转换成黑白点阵图像;③通过进一步对图像进行分析处理,并转换成文本格式获取图像中的文字信息。
通信纤芯定检是保障通信网稳定运行的重要技术措施,由运维人员按一定周期对纤芯逐一进行OTDR测试,记录包括长度、全程衰耗、平均损耗等纤芯性能数据,而现场的记录需要手工填入定检测试表格中,工作量大,耗时长。有鉴于此,综合图像文字识别技术的应用情况,站在提高现场作业工作效率角度,通过制作专用的图像文字识别软件能够减轻定检数据的工作量十分必要。
2 技术原理概述
(1)安卓移动平台
作为完全开放式的移动操作系统平台,安卓移动平台具有操作简单,开发容易的特性。首先,安卓平台具有开放性的优点。其操作系统完全开源,开发成本较低、可定值化程度极高。其次,安卓平台具有较高的硬件兼容性,市面上已存在极其丰富的移动终端资源,并且所有基于安卓开发的软件都能在这些终端上正常运斤,软件的推广使用有着先天的优势。再者,安卓平台对开发人员和用户限制极低,开发者可免费获取SDK进行开发,开发环境相对其他平台比较自由,而得益于各类官方包的支持,基于安卓平台开发软件应用的成本也比较低廉。
(2)图像文字识别技术
图像文字识别技术涉及图像预处理、文字定位、字符分割和字符识别等几个步骤,另外,还可通过语言特征分析和验证识别结果提高正确率。图像预处理包括图像裁剪、灰度化和二值化。图像裁剪是分割出图像包含文字的区域,后续处理时,仅对该区进行处理,提高效率。随后将裁剪后图片的所有像素用不同的灰度值表示,并对图像进行二值化处理,二值化处理后黑白对比强烈,使得目标轮廓明显,大大减少处理数据量。
文字定位指图像中的文字区域非文字区域进行分离,使后续识别工作集中在文字上,避免对无关对象的处理分析。根据定位原理的不同,主要包括基于区域、基于边缘和基于纹理特征三种方式,字符分割指从包含多个字符的文本区域中提取单个字符的过程。字符分割的效果直接影响文字识别的准确性。常见的分割方式包括基于投影和联通分析两种。字符识别是完成上述步骤后,根据获得的单个字符图像中提取字符的特征向量,再通过该向量与原有字符特征样本的匹配进行分类识别,最终识别出单个字符的过程。
3软件结构与实现
3.1软件总体设计
本软件实现的主要功能是将来自OTDR测试仪的图像数据进行光学字符识别后,自动记录在对应的记录表单中。主要功能包括:图像拍照功能、图像预处理功能、图像转换字符功能、数据记录与查询功能、数据智能分析功能等。
3.2软件界面设计
根据系统的需求分析及功能模块设计,可W分析出系统的界面布局,系统的界面是根据设计好的功能模块来设计的。本系统的图像预处理模块和图像文字识别模块是在后台运行的,能在界面体现的是其运巧的结果。因此,本系统主要的界面设计如下图所示:
3.3图像的预处理
(1)灰度化:
对于获取图像中的文字而言,使用灰度图像就能提取所需的文字形态特征图像。图像的灰度化通常采用分量法、最大值法、平均值法和加权平均法四种方法。本文中采用加权平均法进行,其主要原理是通过选择RGB颜色中不同的分量并进行加权计算,以此得到灰度化图像数据。对于 24 位真彩色图像来说,任意一个像素点均采用 R、G、B三种颜色分量长度为3字节的数据进行记录,每一个分量值范围均属于区间[ 0,255],其中 255 表示最亮,0 表示最暗。在实际运用时,像素的灰度化是通过心理学灰度公式换算:
R' = G' = B' = Y = 0.29R + 0.58G + 0.11B
在灰度图中,像素点的记录方式由三个字节变成一个字节,相比 原来的每个像素需要三个自己记录的彩色图像而言,极大地节省了空间,并且在后期对图像的处理中也能使处理效率提高很多。灰度化效果见本节图,可以看到,灰度化处理后,原本多余的颜色数据被去除,突出了文字特征,为后续处理提供便利。
(2)二值化
为了将灰度图像转换为二值图像,需要选取一个阀值,该阀值将灰度图像的像素划分为两个不同的像素群,灰度值大于该值的是一个像素群,小于等于该值的则是另一个像素群。对于图像T(x,y),用H(x,y)表示像素的灰度值(R,G,B),二值化的处理过程可用下式表示(t为二值化阀值):
3.4图像文字识别
图像文字识别模块采用Tesseract引擎实现,Tesseract是免费的OCR软件之一。它是用C++语言编写的,在使用 C++代码前,只需先将 C++编译成 so 文件,然后部署到 libs 文件夹下,在 安卓代码中就可以直接调用 so 文件中的函数,可很容易地在程序引用Tesseract提供的功能。
4结语
文章介绍图像文字识别技术的原理,以及在光纤定检数据记录软件中的应用,展示了软件结果以及在智能终端上的运行界面。软件能对光纤定检所需记录的数据进行只能识别记录,可提高现场记录数据的工作效率。
参考文献
[1]朱怀中.基于 Android 的手机 OCR 识别技术设计与实现[J].电子科技,2012,25(9):45-48.
[2]冀国亮.基于Android平台的车牌识别系统研究与实现[D].中南大学,2013
论文作者:郭德孺,朱凌
论文发表刊物:《探索科学》2016年6期
论文发表时间:2016/10/25
标签:图像论文; 灰度论文; 文字论文; 字符论文; 数据论文; 像素论文; 软件论文; 《探索科学》2016年6期论文;