摘要:
随着数字化时代的蓬勃发展,信息量以指数级的速度增长,然而手工录入并存储信息的速度远不及信息的产生速度.光学字符识别(OCR)技术能够自动化地检测信息并识别出来,有效地解决了信息录入速度和正确率的问题.目前,基于PC设备的光学字符识别已经被广泛的应用于办公自动化和工业智能化等方面,然而由于PC端的弱便携性,很难随时随地处理生活信息.得益于智能手机硬件和Android平台的发展,在移动设备上进行光学字符识别成为可能.基于Android平台的光学字符识别成为一个被迫切需要的功能.本文将PC端上有关光学字符识别的先验知识和基本理论,应用于移动端,设计并实现了一个基于Android平台的光学字符识别应用.本文重点研究了光学字符识别功能的具体实现,以及应用的功能设计和界面设计.本文的主要工作包括:1)应用的需求分析和概要设计,将应用分为图像采集模块,字符识别模块,信息存储模块这三个模块.图像采集模块负责采集含有字符信息的图像;字符识别模块负责处理采集到的图像,进行识别并输出识别结果;信息存储模块负责存储原图像,识别结果以及针对它们的编辑操作.2)应用的详细设计和具体实现.图像采集模块实现两种方式采集图像,分别调用了Android平台的相机和相册接口.对于图像识别模块,结合对文献的研究以及实际场景的分析,设计了一系列光学字符识别的算法策略组合.针对生活场景的复杂,设计了灰度化,平滑,二值化,形态学操作等图像预处理算法,增强背景和识别目标的区别,然后找出图像中的字符区域,进行字符分割和字符归一化,输入到学习生成的SVM模型中进行识别.信息存储模块,采用SQLite这一轻量的嵌入式数据库引擎,将数据存储到手机SD卡中.3)应用测试和评价.在实际使用案例中对应用进行测试,通过对准确率,查全率和F值的计算,分析应用使用效果.本文的目标是利用移动平台日益强大的计算能力,实现服务于日常生活的光学字符识别应用,使用户能够获取并存储所需的信息.
展开