基于智能手机的报纸阅读器-论文

本文介绍了基于Android的智能手机报纸阅读器的开发,旨在帮助老年人阅读报纸。应用集成了OCR技术和TTS,实现拍照转换文字并朗读功能。通过Cordova跨平台框架,结合Android平台,设计了UI界面、数据存储、拍照裁剪上传等功能。论文详细阐述了各个功能的实现,包括OCR识别效果测试,展示了在不同环境下的识别准确率。
摘要由CSDN通过智能技术生成
源码下载  http://www.byamd.xyz/hui-zong-1/

摘要

近几年来,智能手机的迅猛发展给人们的生活带来了极大的改变,移动互联网时代的来临使得人手拥有一台配置强悍的智能手机已不再是奢望。但随着社会老龄化问题的日益严重,智能手机市场对老年人市场的投入却依旧跟不上时代发展的步伐。老年人由于视力衰退,阅读报纸上的文字较为吃力,长时间戴眼镜更会加剧眼睛的疲劳状况。本设计提出了用智能手机帮助老年人阅读报纸的可能,并实现了一款基于
Android 智能手机的应用。

本设计实现了一款基于安卓智能手机的报纸阅读器,具有将拍照得到的图片转成文字再朗读出来的功能,并支持报纸内容存储、音量调节、自定义朗读语言等功能,能极大缓解老年人阅读报纸时的不便。论文首先介绍了
Android 开发平台以及 Cordova
跨平台开发方案,然后详细分析了该应用的所有功能需求,再结合应用开发的基础知识,讲解了开发所需的知识点,最后给了详细的代码实现方案。

**关键词:**Android;Cordova;报纸阅读器;OCR;TTS

Abstract

In recent years, the rapid development of smart phones changed people’s lives
dramatically, and the advent of the mobile Internet era make everybody having a
powerful configuration smartphone is no longer a luxury. But with an aging
society is becoming increasingly serious, smart phone market for the elderly
still can not keep up the pace of their development. Elderly due to vision loss,
read the newspaper is more difficult to them, and long wear glasses can
exacerbate eye fatigue condition. This design made smart phones may help the
elderly to read the newspaper, and implemented of an Android-based smartphone
application for them.

This design implemented an Android-based smartphone newspaper reader, which can
transform photo into text and then read out it, and also support the content
storage, volume control, custom speaking language to greatly alleviate the
elderly inconvenience when reading the newspaper. This paper introduces the
Android development platform and Cordova first, and then analysis of the the
application of all functional requirements, combined with development and
application of basic knowledge and explain the knowledge required to develop,
finally give the detailed code scheme.

Keyword: Android; Cordova; newspaper reader; OCR; TTS

引言

课题背景

本课题为基于智能手机的报纸阅读器。老年人大多有读书看报的喜好,但受限于视力衰退,阅读报纸上较小的文字极为吃力,时间一长容易导致眼睛不舒服等不良状况,给日常生活造成了不小的麻烦。如果有人或者使用软件能够帮助老人将报纸内容朗读出来,这个问题就可以在一定程度上得到解决。

目前在 Android 应用市场有不计其数的 APP
应用,但提供给老年人使用的却少之又少,而且普遍质量较差,并没有针对老年人的特点和使用场景进行有针对性的设计和开发。结果就是这些
APP 并没有真正解决老年人的某些痛点问题。

本课题选择Android平台作为开发平台,因其使用范围广,基数大,可使其适用性大大增加。老年人只需使用该
App
对所需要阅读的内容拍照,本应用即会将选中的内容朗读出来,解决了老年人由于新闻正文字体较小而造成的阅读不便的问题。本
App 还提供了存储功能,用户可选择将之前阅读的内容缓存起来,便于下次使用。

课题任务

本文的主要任务是介绍 Android 平台下使用 Cordova
进行的报纸阅读器应用开发。首先从整体的角度介绍了 Android 的整体架构,以及
Cordova 跨平台开发框架。然后对 Android
平台的报纸阅读器进行需求分析,设计应用的功能与业务流程。接着使用 Cordova
框架进行功能设计,描述具体实现过程。本论文旨在讲解使用 Cordava 框架进行 Android
平台应用开发的要点与过程,涉及到服务器端的功能设计,在此不会作详细的介绍。

本课题的整个设计开发过程均由本人独立完成。主要的工作包括下面几点:

  1. 理解课题任务,学习应用开发所用到的开发技能,配置开发与测试环境。

  2. 分析课题需求,设计业务流程,应用界面贺代码实现。

  3. 测试应用,解决测试时发现的问题,总结并完成本篇论文。

内容的安排

第一章为引言,介绍课题的背景及意义,课题任务以及论文内容的安排。

第二章为开发平台和工具的简介,包括 Android 平台,Cordova 跨平台开发框架。

第三章对课题进行需求分析,介绍了老年人对报纸阅读器的功能需求,以及本应用的操作流程分析。

第四章详细介绍了本应用的各项功能,以及对业务处理流程的分析。

第五章为详细的代码实现,介绍了各项功能的界面、数据处理等各方面细节。

第六章回顾了整个开发工作的过程以及对课题未来走向的展望。

开发环境及相关技术简介

本章开始介绍开发所用到的环境和相关技术背景知识,以及选用这些技术方案的优势所在。主要介绍操作系统、开发语言、开发框架和相应的技术背景,这些构成了课题开发的基本要素。

Android简介

Android 是一个以 Linux
为基础的开放源代码的移动设备操作系统,中文称为“安卓”,目前由谷歌开发。目前
Android 已发布的最新版本为 Android
5.1.1。基于直接进行操作的用户界面,Android系统主要为支持触摸操作的移动设备如智能手机,平板电脑,电视专用用户界面(Android
TV),汽车(Android Auto)和手表(Android
Wear)设计。尽管该系统被主要设计用于触摸屏的操作,但它也被用在游戏机,数码相机,个人计算机和其它电子产品中。截至2015年,Android在所有通用的操作系统中拥有最大的用户群。

Android公司于2003年10月在加利福尼亚州帕洛阿尔托创办,创始人包括Andy Rubin ,Rich
Miner (野火通信联合创始人),Nick Sears 以及 Chris
White。该公司早期的意图是打造一款在数码相机上运行的操作系统。但后来发现市场对此需求并没有想象中的强烈,于是公司开始把重心转移到开发智能手机操作系统上,将Android改造成了一款面向智能手机的操作系统。当时市场上的竞争对手主要有Symbian和微软的Windows
Mobile这两大系统。2005年8月17日,Google收购了Android公司。在当时还少有人知道Android公司的存在,但这时Google正计划进军手机市场,并成立了一支由Andy
Rubin为首的团队,专注于移动设备平台开发。

Android的内核是基于Linux内核长期支持版本(LTS)的一个分支。在2014年4月起,Android主要使用3.4和3.10版的Linux内核。具体的内核版本取决于实际Android所运行的设备平台。从Android系统开发到现在已经使用了多种版本的内核,包括Android1.0使用的2.6.25版Linux内核。Android系统主要支持的硬件平台是ARM架构(ARMv7和ARMv8-A架构),使用x86和MIPS的架构在后续也开始正式支持。

在Linux内核之上,还有中间件,库,C语言编写的API以及应用软件上的应用程序框架,其中包括Java兼容库。直到5.0版,Android使用Dalvik作为进程虚拟机。在5.0版使用了Android
Runtime作为其新的运行时环境。Android上的标准C语言库是Google针对Android系统专门开发的,该库被设计成在特定的Linux内核版本上运行,并且针对较小的内存和较低的运行频率做了优化,使其更适合在Android系统中使用。

Android应用程序使用Java语言和Android SDK开发。Android
SDK内含一套完整的开发工具,包括调试器,软件库,模拟器,开发文档和实例代码。在最初的时候,Google支持的集成开发环境(IDE)是Eclipse中使用Android开发工具(ADT)插件构建的。2014年12,Google在IntelliJ
IDEA的基础上推出了Android Studio,并将其作为Android开发的主要工具。

Cordova简介

2.2.1 Cordova介绍

Cordova 是一款开放源代码的跨平台开发框架,旨在让开发者使用 HTML、JavsScript、CSS
等 Web API 技术来开发跨平台的
APP,即将使用HTML、CSS、JavaScript的页面封装为手机客户端应用。原本由 Nitobi
公司开发,2011年10月4月,Adobe 正式宣布收购 Nitobi 软件。Cordova 是一个 APP
设备的 API 接口集,在页面与本地设备间提供了一座桥梁,允许开发者利用 JavaScript
调用如摄像头、罗盘等硬件资源,这是一般的 Web APP所做不到的。配合一些基于
HTML5、CSS3 技术的 UI 框架,如 jQuery Mobile,开发者可以快速地开发跨平台 APP
而不需要编写任何原生代码,实现了“一次开发,到处使用”,在很大程度上降低了移动开发的门槛。此外
Cordova 还拥有丰富的插件资源,很方便的供开发者进行功能拓展。Cordova
目前支持的操作系统包括苹果的 iOS、Google 的Android、Blackberry、LG 的
WebOS、微软的 Windows Phone、三星的 Tizen和 baba、Firefox OS 和Ubuntu Touch。

Cordova 能够实现跨平台开发的原因在于移动设备上都内置了 WebView
组件,这个内置的浏览器特性是 Web 能被打包成本地客户端的基础,可以方便的使用
HTML5、CSS3 等技术进行页面布局,在开发效率上优于使用原生开发。Cordova
针对不同平台的 WebView 组件做了拓展与封装,使得 WebView 组件可以访问设备本地的
API,所以开发者在 Cordova 框架下可以通过 JavaScript 访问到设备本地的 API。

不过由于使用 Web 技术,而且 Cordova
是一个封装了很多底层细节的框架,在运行效率上要比原生的应用程序低,在频繁操作时容易造成卡顿,另外在稳定性与内存占用上也不及原生应用。还未能做到100%支持原生接口,一些功能可能会因此受到限制,有待逐步在各平台完善。因此比较适合于开发功能简单以及操作不太复杂的
APP。

2.2.2 Cordova原理简要分析

Cordova在其支持的平台上均实现了一套后台运行的框架,分别与各平台系统的API进行交互,从而调用其原生API,为开发者提供了统一的JavaScript接口。

Cordova是基于移动终端上内嵌的浏览器即WebView来渲染HTML、CSS,在Cordova中重写了WebView的onJsPrompt
方法,来捕获前端的业务请求操作,从而将Web前端与后台的Java程序连接起来。相应的,Android上的Cordova中使用Java实现了一个HTTP服务器,通过持久性的XHR连接,JavaScript可以不断轮询内部XHR服务器存储的信息,从而实现了从Java到JavaScript方向的通信。在Cordova框架首次加载时,CallbackServer线程就会启动,然后同时监听前端的XHR请求和链表中有无数据,当有XHR请求来时,若链表为空,线程会最多等待10秒,在等待过程如果链表中有数据来,会唤醒等待的线程,从而立即将链表中数据传到前端;若10秒后没有数据,则将空数据返回到前端,从而发起下一轮XHR请求。

OCR简介

2.3.1 OCR介绍

中文全称“光学字符识别”,是指印刷文字图像到机器编码文本的转换。它被广泛用作从印刷数据记录的数据录入的一种形式,适合于将护照证件,发票,银行对账单,收据,名片,邮件,或其他合适的文档转换出来。OCR在模式识别,人工智能和计算机视觉领域被广泛运用。早期的光学字符识别可以追溯到电报和为盲人阅读的而发明的技术,在当时进行OCR识别时需要预先对每个字符图像进行训练,在同一时间只能处理一种字体。现在能够进行高精度识别的OCR系统已经很常见了,有些还可以再现格式的输出,如列表等非文本部分。

光学文字识别的概念是在1929年由德国科学家Tausheck最先提出来的,后来美国科学家Handel也提出了利用技术对文字进行识别的想法。而最早对印刷体汉字识别进行研究的是IBM公司的Casey和Nagy,1966年他们发表了第一篇关于汉字识别的文章,采用了模板匹配法识别了1000个印刷体汉字。

早在60、70年代,世界各国就开始有OCR的研究,而研究的初期,多以文字的识别方法研究为主,且识别的文字仅为0至9的数字。以同样拥有方块文字的日本为例,1960年左右开始研究OCR的基本识别理论,初期以数字为对象,直至1965至1970年之间开始有一些简单的产品,如印刷文字的邮政编码识别系统,识别邮件上的邮政编码,帮助邮局作区域分信的作业;也因此至今邮政编码一直是各国所倡导的地址书写方式。

20世纪70年代初,日本的学者开始研究汉字识别,并做了大量的工作。中国在OCR技术方面的研究工作起步较晚,在70年代才开始对数字、英文字母及符号的识别进行研究,70年代末开始进行汉字识别的研究,到1986年汉字识别的研究进入一个实质性的阶段,不少研究单位相继推出了中文OCR产品.早期的OCR软件,由于识别率及产品化等多方面的因素,未能达到实际要求。同时,由于硬件设备成本高,运行速度慢,也没有达到实用的程度。只有个别部门,如信息部门、新闻出版单位等使用OCR软件。1986年以后我国的OCR研究有了很大进展,在汉字建模和识别方法上都有所创新,在系统研制和开发应用中都取得了丰硕的成果,不少单位相继推出了中文OCR产品。进入20世纪90年代以后,随着平台式扫描仪的广泛应用,以及我国信息自动化和办公自动化的普及,大大推动了OCR技术的进一步发展,使OCR的识别正确率、识别速度满足了广大用户的要求。

2.3.2 OCR识别方式介绍

与其它信息数据一样,在计算机中所有扫描仪捕捉到的图文信息都是用0、1。这两个数字来记录和进行识别的,所有信息都只是以0.1保存的一串串点或样本点。OCR识别程序识别页面上的字符信息主要通过单元模式匹配法和特征提取法两种方式进行字符识别。

单元模式匹配识别法(Pattern
Matching)是将每一个字符与保存有标准字体和字号位图的文件进行不严格的比较。如果应用程序中有一个已保存字符的大数据库,则应用程序会选取合适的字符进行正确的匹配。软件必须使用一些处理技术找出最相似的匹配。通常是不断试验同一个字符的不同版本来比较。有些软件可以扫描一页文本,并鉴别出定义新字体的每一个字符。有些软件则使用自己的识别技术,尽其所能鉴别页面上的字符,然后将不可识别的字符进行人工选择或直接录入。

特征提取识别法(Feature
Extraction)是将每个字符分解为很多个不同的字符特征,包括斜线、水平线和曲线等。然后又将这些特征与识别的字符进行匹配。特征提取法的优点是可以识别多种字体,例如中文书法体就是采用特征提取法实现字符识别的。

多数OCR应用软件都加入了语法智能检查功能,这种功能进一步提高了识别率。它主要通过上下文检查法实现拼写和语法的纠正。在文字识别时,OCR应用程序会做多次的上下文衔接性检查,根据程序中已经存在的词组、固定的用词顺序、对应的检查字符串的用词字。比较高级的应用软件会自动用它认为正确的词语替换错误词语,纠正语句意思.

主要识别流程:

影像倾斜校正:首先,OCR会检查原稿是否倾斜,如果原稿倾斜,此步驟將原稿旋转至水平或是垂直的位置,以提高辨识率。

图文分析:利用图文分析技术,判定文字区与图像区,区隔之后进一步撷取文字区的文字部分。

文字自动转正&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值