论文部分内容阅读
近几年来,随着社会高速发展,传统的名片管理方式已经过于繁琐。而随着嵌入式技术的发展,手机的性能也有了爆炸式的增长。手机已经完全可以胜任存储名片并管理信息的工作。手机的多功能性使得名片识别变得更加简单。这个项目使用iPhone作为硬件环境,并在iOS (iPhone Operating System)操作系统中使用Objective-C进行编程。这个项目的主要内容是识别在iPhone设备上取得的一张名片图片,并获取上面的联系人信息,之后生成一个联系人,并把这个联系人保存到iPhone的地址簿中。这张包含名片信息的图片可以从iPhone的相机直接拍照得到,或是从网上下载到iPhone的相册中取得。本系统分为四个子系统:图像获取,图像处理,数据处理和数据传输。其中图像获取子系统从iPhone相机或者相册中得到一张图片。图片处理子系统可以分为图像处理和文字识别两个步骤。图像处理是基于一个开源的库:OpenCV图像处理库。并根据名片上的特征,编写一些特殊的函数方法来处理图片。图片处理有四个步骤:定位名片边缘并截取边缘,这个步骤能消除背景的影响,四个方向的Sobel边缘检测可以定位出所有文字和图案,适应性二值化可以把图片变为黑白两种颜色,文字连通域识别和截取可以定位和截取出文字域并对其进行文字识别。文字识别是基于另一个开源库:Tesseract OCR engine。数据处理子系统使用正则表达式对文字识别的结果进行匹配,找出与联系人相关的特定信息,并最后由数据传输子系统将这些信息保存到iPhone的地址簿中。经过全面的系统测试,本系统已经可以识别出名片上的所有信息,并且分类出电话号码、电子邮件和网址。系统运行正常,没有内存溢出。基于20张不同背景和格式的名片的测试结果,平均识别率和速率都取得了令人满意的结果。