android平台和tesseract引擎的名片识别系统的设计与实现(源码)

1关键词 11、绪论 21.1 研究背景 21.2 研究现状 21.2.1 OCR技术的发展和简介 21.2.2名片识别技术的发展现状 31.2.3 OCR识别工具现状 31.3 存在问题 41.4 研究内容 42、引擎介绍 52.1 tesseractr-ocr引擎的介绍 62.2对tesseract-ocr引擎处理过程分析 62.3 tesseract常用API 63、tesseractr-ocr字符库训练 73.1 生成目标文件 73.2 获取样本文件 83.3 生成BOX文件 83.4 定义字符配置文件 93.5 字符矫正 93.6 生成字库文件 104、名片识别系统的设计与实现 114.1 设计目标 114.2 环境搭建 124.3 系统设计 124.3.1 名片识别系统问题陈述 124.3.2 名片识别系统需求分析 124.3.3 名片识别系统需求模型 134.4 名片预处理 174.4.1 引言 174.4.2 图像灰度化 184.4.3将灰度图像进行二值化处理 184.5 提取名片中的姓名联系方式 194.6 系统各功能代码实现 204.6.1 打开本地相册功能代码实现 204.6.2 打开相机拍照并将图片保存显示到指定区域 204.6.3 对图片进行裁剪 214.6.4 对图片预处理 214.6.5 对图片进行识别 224.6.6 写入识别的联系人到通讯录中 224.6.7 调用手动写入 224.6.8 查看本地字库 234.6.9打开通讯录、查看联系人,增加联系人 235、系统测试 236、总结与展望 286.1工作总结 296.2不足与展望 29致谢 29基于Android平台和Tesseract引擎的名片识别系统的设计与实现随着移动智能终端设备的发展进步,手机在人们的日常生活中越发重要。在现在的社交和商业的见面交流等活动中,名片作为相互交换的信息载体也愈发重要,但是对纸质名片的管理较为麻烦,将对名片的识别自动提取功能加入到便携的手机中可以解决这个问题。对名片的识别需要使用到OCR技术,OCR引擎将OCR技术的核心部分集成为开发包方便开发识别软件,在本次的系统设计中,结合OCR识别引擎-Tesseract引擎进行名片识别系统的开发。使用结合jTessBoxEditor工具和收集的G2312的文字样本来训练字库,使用tesseract的API调 *好棒文|www.hbsrm.com +Q: ¥351916072¥ 
用引擎对名片图像进行扫描识别,实现了打开相册或照相机拍照获取名片图片。对图片进行裁剪和预处理工作。识别预处理后的名片,并提取其中的姓名和联系方式将其录入通讯录功能。在实际的实验过程中发现,识别的结果可能略有偏差,故还应该提供手动录入功能。为了方便用户操作还实现了打开本地通讯录查看联系人并查看支持哪几个图库的功能。开发这样一个可以对名片识别的软件可以为人们的日常生活和社交活动带来便利。
目录
引言
1、绪论
1.1 研究背景
现在的人们使用的手机等移动终端因为其越来越强大的软件和硬件配置,使得它们拥有了非常强大的数据处理分析功能。同时这些移动终端也具备拍照功能,加上其强大的处理能力,使得人们对手机功能的需求不只是满足于可以进行拍照,也希望可以通
过使用移动设备平台实现对图片的检索或者对图片的信息进行提取、查询等操作,这也促使基于移动智能平台的图像获取技术和图像处理识别应用的广泛流行。
当前的信息社会,名片是可以存储个人商务信息的工具,被使用的越来越多。名片虽然精简却也包含交流沟通的一般信息,所以对名片中的信息的提取和归纳便较为有价值。然而随着名片的在社交场合的广泛应用,对纸质名片信息整理的繁琐程度也不断提高。如果将名片放在名片包中随身带着,则会出现若名片数量太多,则会使想要找到目标名片较为麻烦。如果通过比对名片信息由人们自己将名片的信息存储到手机等智能设备中,既消耗时间又消耗精力。如果存在多张名片,并需要对其联系人信息进行提取时,我们可能要把将每个名片上的内容挨个录入到移动设备中,带来的不便就更加显著。如何结合移动设备自己具有的数据处理能力和拍照功能,自动的对名片进行扫描、识别与存储是一个值得研究和实现的项目,张巍[3]基于Android平台的名片扫描识别系统的设计与实现提到,现在的智能终端大都具备储存名片的基本功能,可以储存纸质名片信息工供人们使用。然而通常这些智能设备都没能做到一个最根本的问题,即名片信息的自动存储。本次课题实现的名片识别系统可扫描自动识别并存储,具有较高的便利性。同时这样的一个系统也具有较宽广的应用和商务价值。
在众多OCR识别引擎中,tesseract 引擎能够提供较高的字符识别率,可以支持对包括中文在内的多种不同语言的识别,虽然因为其没有针对所有语种建立详尽的字符库,但我们可以使用其提供的字符库训练方式得到自己想要的字符库,以满足自身的识别需求。结合tesseract识别引擎与Android来开发一款简单的名片识别软件是可行的。
1.2 研究现状
1.2.1 OCR技术的发展和简介
第一代的OCR产品是由IBM公司在上世纪60年代提出的,最初的产品可以识别的领域比较小,仅包括指定字体的数字和字母等。OCR技术不断发展,到了1983年,日本东芝公司发布了用于识别日文汉字的OCR产品,效果识别率相当高。相较于国外的研究进展,国内对OCR技术的研究开始的比较晚,但中国OCR技术的发展十分迅速,在80年代,国家启动865计划,邀请了包括清华大学在内的三家单位联合开始对中文OCR识别软件进行开发。到了1989年,清华大学首先发布了用于识别中文的OCR软件,这是国内的第一套此类型的软件,至此在市场上出现了ocr识别软件的身影。几年后,清华大学开始对汉字的识别进行综合研究,使汉字识别技术在印刷体文本等领域取得了重要成果。
OCR技术的原理就是通过将文本图像输入到电脑等智能设备,然后提取出每个文字的图像,并将文字图像转换成文字编码。具体的工作过程是,将文本通过CCD等将光信号转换为电信号,通过转换器转化为数字信号传输给计算机。计算机接受的是数字类图像,其图像上的文字可能是印刷体或者手写,然后对这些图像中的字符进行识别。
在ocr技术中获取的图文信息都是用0、1这两个数字保存的样本点来记录和进行识别的。OCR识别程序用以识别页面上的字符信息的方法是单元模式匹配法和特征提取法。
单元模式匹配识别法是指将各个字符与包含字符特征的字库进行比对。特征提取识别法是将每个字符分解为字符特征,包括斜线和曲线等。然后,将特征与识别的字符进行匹配。
靳简明[4]提出推名片的识别步骤可以划分为:图文输入、图文切分、名片识别和信息分类等几个部分。王彬[9]也提出,识别步骤大致可划分为:图像录入、预处理、版面分析和信息提取等几个步骤。
其中图文输入是指将文本图像输入到计算机中,文本图像的图片质量是OCR技术正确识别的前提。保证文字的清晰程度,减少倾斜程度,避免文字图像的变形。这些对图像的处理可以提高识别正确率。保证输入的优良性之后对图像进行预处理,同样是减少各种因素的干扰并提高识别准确率。
可以说目前OCR的识别技术在不断发展中正在逐步完善。随着这项技术的不断发展,如何在日常生活中享受到OCR识别技术带来的便利就成为了时下的一个热门研究方向。将ocr技术与名片识别结合在一起是由1999年汉王科技推出,近几年国内出现了名片全能王等名片管理软件,可对纸质名片进行信息管理。
万松[1]提出并实现了应用于服务器端的结合Tesseract引擎对名片进行识别的系统。由于商用的OCR产品使用成本较高,那么通过集成调用tesseract引擎,来开发一个android平台的识别app可以降低成本,并满足基本需要[1]。
1.2.2名片识别技术的发展现状
在商业活动中,名片的交换常见而又频繁,以此来建立一个初步的联系。但收集和管理名片资源是件相对繁琐的事,而且纸质名片易损毁和丢失不利于保存。人们在拿到并使用名片时,最常用或者说最直接接受的信息就是名片主人的姓名及其联系方式。一般来讲,都是比对着名片来将姓名联系方式存储至手机中,但这样的方法费时费力还容易记错。
目前的光学字符识别(ocr)技术[2]已经在不断完善,使用手机识别名片具备相当的实用价值,可以解决管理、录入繁琐的问题。现在的很多名片管理软件都可以对名片信息进行管理。名片信息输入到系统中,如何对其信息进行提取、归纳和管理是件并不简单的问题,需要一个字符库的支持,也需要用户对信息的字符库作定期的维护更新。由此可见,设计具有推广前景和应用价值的名片识别系统是可行的。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1614.html

好棒文