基于Tessearc驾照识别系统的研究与实现毕业论文
2021-06-07 23:10:44
摘 要
本文研究了如何实现一个对驾照图片进行OCR识别的Android平台的APP,这个APP的功能有:调用Android系统照相机对驾照进行拍照并将图片存储到Android外部存储,从Android系统图库选择需要识别的驾照图片进行识别,将识别出来的驾照各栏位信息显示在页面上供用户对识别不准确的信息进行校正,将校正后的准确的信息存储到Android本地数据库,对于注册登录的用户,在联网情况下将识别出的驾照信息上传到服务器端并保存到服务器端的数据库中。
在Android端集成了OpenCV库对驾照图片进行了灰度化和二值化等预处理操作,集成了Tesseract库对切割出来的驾照文字信息进行文字识别,将识别出来的驾照信息保存到Android本地的SQLite数据库中。服务器端搭建的Java EE服务器,服务器端使用的是MySQL数据库来存储从Android端上传到服务器的驾照信息。
最终实现了在Android端对驾照图片进行信息识别的功能,并且可以将识别出的信息存储到Android本地数据库中,对于注册登录了的用户,还可以通过网络将识别出的驾照信息上传到服务器中,当Android本地数据丢失的时候,登录了的用户还可以将保存到服务器端的数据同步到Android端。
关键词:Android;驾照识别;OCR;OpenCV;Tesseract
Abstract
This paper studies how to build a Android App which can recognize the License photos by OCR. This App has the following functions : Using the Android System camera to take License pictures and save them to Android External Storage. Chosing the License picture from the Android System gallery to recognize. Showing the recognized license information on the page for users to correct the inaccurate information. Then saving the accurate information in Android local database. For those who have been registered and logined in, it can upload the accurate license information to the server while the network is avaliable and save them to the server database.
I have intergrated the OpenCV for Android library on Android platform toperform preprocessing like gray processing,binarization and so on to the licensepictures, and intergrate Tesseract library for the cut valid license information torecognize and save the recognized information to Android Sqlite database. The
server is built on Java EE platform, it uses Mysql database to save the uploadlicense information.
Finally I have accomplish a Android App which can recognize the license
information and save the accurate information to Android local database. If theuser has logined in, he can use the internet to upload the accurate information
to the server, and when Android local database is lost,he can also synchronize
the server database information to his Android smartphone.
Keywords: Android, License Recognition, OCR, OpenCv, Tesseract
目录
摘要 I
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ⅱ
第1章 绪论 1
1.1 研究的背景和意义 1
1.2 国内外研究现状 1
1.3 论文研究内容 2
第2章 需求分析 3
2.1 功能性需求 3
2.1.1 用例图 3
2.1.2 用例描述 4
2.1.3 数据字典 8
2.2 非功能性需求 8
2.2.1 时间性要求 8
2.2.2 数据管理能力要求 8
2.2.3 故障处理要求 8
第3章 系统设计 9
3.1 总体设计 9
3.1.1 Android客户端设计 11
3.1.2 服务器端设计 11
3.2 算法设计 11
3.2.1 图像的灰度化 11
3.2.2 灰度图像的二值化 13
3.2.3 图像去噪 14
3.2.3.1 中值滤波 14
3.2.3.2 均值滤波 14
3.2.4 倾斜校正 15
第4章 系统实现 16
4.1 从图库中选择照片 16
4.2 调用系统相机拍照并存储到外部存储 16
4.3 对选中图片进行文字识别 17
4.3.1 对驾照图片进行预处理 17
4.3.2 对驾照图片进行文字切割 19
4.3.3 对切割图片进行文字识别 19
4.3.4 将识别后的驾照信息存储到本地数据库中 20
4.3.5 将驾照信息上传到服务器端 21
4.4 对驾照文字进行字库训练 22
第5章 运行与测试 24
5.1 运行演示 24
5.2 功能测试 29
5.2.1 功能测试用例 29
5.2.2 健壮性测试用例 31
第6章 总结与展望 33
6.1 工作总结 33
6.2 存在的不足 33
6.3 对未来的展望 33
参考文献 34
致谢 35
第1章 绪论
- 研究的背景和意义
随着移动互联网时代的到来,手机的功能已经远不止打电话和发短信这么简单,智能手机已经成了人们生活中必不可少的工具。随着智能手机的功能越发强大,越来越多的人们开始使用智能手机拍照、聊天、看新闻、看书、听音乐、看视频、玩游戏和购物等功能。在十几年之前,当手机的功能仅仅局限于打电话和发短信时,当时手机行业的老大还是诺基亚、摩托罗拉和黑莓,但是随着Google推出Android手机操作系统和苹果公司推出搭载IOS手机操作系统的IPhone之后,老牌的行业老大迅速走向没落。Android是谷歌公司于2007年推出的一款开源操作系统,这款操作系统是以Linux内核为基础[1]。现如今,手机操作系统已经形成了以Google公司推出的Android手机操作系统、苹果公司推出的IOS手机操作系统和微软公司推出的Windows Phone手机操作系统三分天下的格局。但是,Android手机操作系统凭借其开源和免费等特点,在市场上的份额远超苹果公司的IOS手机操作系统和微软公司的Windows Phone手机操作系统。
驾照识别是光学字符识别(OCR)的一个分支,是指通过手机拍照,快速扫描并读取驾照图像上的所有联系信息,自动判别证件上各栏位的信息,存入证件信息数据库。人工的将驾照信息输入到电脑的数据库中会耗费人大量的精力,直接使用手机拍照就可以自动识别出驾照中的信息,并将数据保存到数据库中,大大节省了人工输入的时间和精力,提高了效率。
- 国内外研究现状
OCR(Optical Character Recognition)又被称为光学字符识别,是指对文本资料的图像文件进行分析识别处理并获取文字及版面信息的过程。1929年由德国科学家Tausheck最先提出来OCR的概念,之后美国科学家Handel也提出了利用技术对文字进行识别的想法[2]。早在60、70年代,世界各国就开始有OCR的研究,中国起步较晚,对OCR的研究在70年代才开始兴起。不过到现在为止,OCR技术已经趋于成熟。OCR识别的过程包括:图像输入和预处理;二值化;噪声去除;倾斜校正;版面分析;字符切割;字符识别;版面恢复;后处理;校对。