摘要:
随着Android手机平台的普及和信息化进程的不断推进,利用手持设备高效地将文档信息录入已经成为一个亟需解决的问题,其关键技术光学字符识别在手机上的应用日益受到人们重视.本文所做工作正是针对这一问题而展开.本文设计的Android平台光学字符识别通过手机摄像头拍摄的方式将纸质的文档以图像的形式录入手机,通过与Android NDK编程结合的预处理,特征提取及模版匹配等一系列的处理,获取与录入图像对应的电子文本输出. 本文主要研究内容如下: (1)前期预处理算法对比选取.对比四种常见噪声的领域平均法和中值平均法去噪效果,选出灰度化及去噪分别采用加权平均法及3×3中值平均法. (2)光照补偿及二值化研究设计.针对同态滤波算法进行研究,最终选取避免参数调整的改进的同态滤波算法进行光照补偿,比较了两种全局阈值和两种局部阈值算法,选择补偿图像处理效果较好的Bernsen算法进行二值化处理. (3)倾斜字符校正,字符分割及归一化分析确定.研究文本图像中较常出现的旋转与水平倾斜,选取投影法方差最大与二阶原点矩最大进行检测并进行相应的校正.研究找到了一种可以很好的处理垂直投影算法所无法解决的字符间因重叠而无法分割的问题的连通域搜索生长算法.讨论三种插值变换的归一化算法,选取复杂度居中但能满足实际要求的双线性插值算法. (4)分类器及特征提取方案确立.对比研究两种特征提取方式结构特征和统计特征,其中,结构特征区分相似字的能力较强,而统计特征抗噪声和干扰的能力较强,因此本文采用粗网格特征,宽度投影特征和笔画密度特征的结构与统计特征相结合的特征提取法.对比三种判定距离欧氏距离,马氏距离和街区距离的优缺点选定欧氏距离为判定函数. (5)设计实现Android平台光学字符识别.结合Android NDK技术,利用Java Native Interface接口,在windows系统下,利用jdk6.0,Eclipse SDK-4.3-win32,android-sdk_r06及ADT0.9.7开发出应用软件.充分测试了在不同场景下系统识别效果,包括光照实验及存在倾斜情况下都能很好识别出图像中的字符.通过100次采样,对图片中的3164个样本进行数据统计分析,其中包含大小写英文字母52个和数字10个,共62个字符类型,得到总体识别正确率达91.5%,字母和数字分别为92.0%和88.1%.
展开