版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
緒論背景及意義文本圖像信息是人類訪問外部信息的主要來源,人們需分析照片以便獲取地球的資源,全球天氣和污染問題。在醫(yī)學領域中,主治醫(yī)生可分析X射線結果判斷患者情況。在工業(yè)工廠里,技術人員可使用電子圖像來管理與控制生產。在生活中,交通管理部門還使用文本圖像識別技術來確定非法車輛的車牌,并對其進行監(jiān)督和管理,由此可見文字圖像信息的重要性。中國在近幾年的各個領域尤其是科技領域發(fā)展迅速,隨著對外開放的進一步擴大,將需要更多的外國專業(yè)人士。然而不同語言成為了一道阻礙在不同國家不同領域的一堵墻。不同文化和不同語言之間的溝通變得簡單化,為了更好地學習國外先進技術,我們必須了解自己,知道如何建設一個更好,更快,更強大的國家。在現(xiàn)代社會的人類生產和以及生活當中,我們需要接觸大量的文字以及不同形式的文本。早在20世紀60年代,隨著磁性油墨以及特殊字體實用的機器出現(xiàn)。出現(xiàn)了各種各樣的字體和以及手寫文本的識別機。例如用于印刷體的英文字母與數(shù)字和字母分類識別機的手寫數(shù)字識別機。OpticalCharacterRecognition,縮寫為OCR,在中文里意思為光學字符的識別,一般簡稱為文字識別。它通過光學信號輸入到電子設備轉換為文字的方式,例如拍攝或者掃描記錄獲取文本圖像信息,通過各種各樣的模式識別算法來獲取文本的特征,確定了中國漢字的標準代碼,與此同時將其存儲在文本文件中的通用格式,這從根本上變化。人們對計算機漢字手工編碼的思考。讓人們從繁重的漢字輸入漢字中解放出來。只要文本的整個頁面由掃描儀輸入到計算機中,可以通過OCR軟件,這是相同的手動,中國輸入自動生成的中國文本文件,但是速度比人工快好幾倍。例如,用移動電話拍攝一張名片,,名片上的各類信息比如姓名,聯(lián)系方式和其他信息會被自動識別并輸入到各類APP里。因此,OCR是一種非??焖偾沂×Φ奈谋据斎敕绞剑彩窃谖淖至勘容^大的今天,很受人們歡迎的一種輸入方式。隨著智能手機的技術上的發(fā)展以及市場的普及,智能手機在我們生活中逐漸成為一個不可缺少的部分,它不斷地融合并且無時無刻德改變著我們的日常生活以及工作學習條件,這也是為什么人們開始覺得自己的生活也因為智能手機發(fā)生了許多翻天覆地的變化。隨著移動終端各類技術的發(fā)展,人們尤其是以年輕人為主的消費者群體更換手機或者其他消費類電子設備的頻率也越來越高。其中,當今手機系統(tǒng)由兩大系統(tǒng)組成,除了ios系統(tǒng)以外,Android手機操作系統(tǒng)憑借著其獨特的技術優(yōu)勢和以及更加開放靈活的特點,占據(jù)了手機平臺操作系統(tǒng)的百分之七十以上的市場份額,也隨著其系統(tǒng)流暢性的不斷優(yōu)化,越來越受到廣大用戶得喜愛。Android手機端的功能日益成熟,使得基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)也應運而生。Android是基于Linux平臺的開源手機操作系統(tǒng)的名稱。就像上文提到的,隨著它的技術日益完善以及快速發(fā)展與蘋果公司的ios系統(tǒng)一直有著猛烈的競爭,但根據(jù)調查,Android系統(tǒng)的用戶遠遠超過ios系統(tǒng)。根據(jù)Android系統(tǒng)市場的廣泛使用,該服務是免費的,企業(yè)可以免費獲取Android平臺上的新功能開發(fā)的源代碼可以節(jié)省開發(fā)成本,有快的發(fā)展速度,廣泛的服務范圍和獲得最大利益。隨著開源的功能,Android系統(tǒng)的標準化平臺,打破原來的手機,被大多數(shù)消費者所選擇。與此同時,其開源的特點既結合了傳統(tǒng)形態(tài)移動通信優(yōu)勢,也增強了安卓手機操作系統(tǒng)的整體形態(tài)價值。手機廠商如三星,華為等與軟件廠商和運營商實現(xiàn)緊密合作共贏,促進行業(yè)健康發(fā)展。Android為手機終端制造商和客戶帶來了新的局面。同時,結合即將到來的5G網(wǎng)絡時代,它為用戶提供了更全面,系統(tǒng)和自助的服務。Android推動了手機行業(yè)的發(fā)展,并為手機以外的其他領域帶來了許多應用擴展。國內外的研究情況在國外,隨著中國科學技術的高速發(fā)展,OCR光學字符識別文字識別技術在國內各領域得到了應用空間。文通,云麥技術,漢王和中國字符識別等龍頭企業(yè)將更加深入的信息化建設的各個領域。在上個世紀歐洲科學家Tausheck第一次提出了光學字符識別的理論后,美國科學家亨德爾還提出利用技術來識別單詞的想法。標識上印中國文字最早的研究是由凱西和IBM的納吉。在上個世紀中期,世界各個發(fā)達國家就開始了OCR的研究進程。然而在研究的前期,大部分是基于單詞的識別方法,識別文本僅有不到10個。以日本也有大寫字母為例,研究了OCR的基本識別理論。大約在1960年。在上個世紀后期,日本各領域學者開始就開始為研究漢字識別工作不遺余力地付出。然而不得不提到的是,我國的OCR技術研究開始較晚中國對漢字識別的探索道路時間是始于1965年前后,到了70年代后期,才研究開始識別數(shù)字以及英文。到了八十年代末,我國的的文本識別研究進入了新征程。因此,越來越多的研究機構爭先恐后地推出了中國OCR產品。然而由于各方面因素,初始階段的識別和產品化,OCR軟件并不可以滿足實際要求。與此同時,由于硬件設備的巨額成本,使用速度較慢,尚且不說達不到實用的水平。所以只有有關部門才可以運用OCR軟件。如今,OCR識別準確度和識別速度已得到了大部分用戶的認可。目前,有許多流行的OCR軟件。如英語OCR軟件主要包括OnmiPage。OCR技術愈發(fā)完善,雖然有著一定數(shù)量的漢字。識別速度快,識別準確率接近百分之百。它識別多種字體。如Song,Bold和Carcass。21世紀是一個信息時代,因此信息交換和信息流就顯得尤為重要。因此,使用手機來進行圖像文字識別成為必然。開發(fā)合適的基于Android移動平臺文字識別(翻譯)系統(tǒng),可以方便用戶自主對圖像文字進行識別。提高管理效率,讓圖像文字識別更科學化、系統(tǒng)化、規(guī)范化、便捷化。研究內容本課題主要是基于Android移動平臺系統(tǒng)開發(fā)-文字識別與翻譯的開發(fā)與設計,主要分為硬件部分和軟件部分,其中硬件部分是個人移動終端設備。首先要對基于Android移動平臺文字識別(翻譯)系統(tǒng)的業(yè)務流程有整體把握,分析預約管理的流程制度??偨Y系統(tǒng)設計以及相關功能,分析了開發(fā)系統(tǒng)的可操作性,并且得出了總體集成的結構和具體實現(xiàn)方法。最后要研究全系統(tǒng)各個功能模塊的詳細設計以及掌握所要使用的開發(fā)工具,從而完成系統(tǒng)開發(fā)。論文組織結構此論文共有以下七個章節(jié),具體概括內容如下所示:第一章:選題的相關知識背景與實際意義、國內外各方面的研究情況的現(xiàn)狀分析、論文的研究內容和論文組織結構介紹。第二章:此系統(tǒng)所運用的各種相關技術以及開發(fā)平臺和環(huán)境概述。描述OCR光學識別的介紹,以及系統(tǒng)開發(fā)環(huán)境,即AndroidStudio開發(fā)平臺以及編程語言JAVA語言介紹,最后是百度圖片翻譯SDK的技術簡介。第三章:對此系統(tǒng)進行了整個系統(tǒng)分析。依次描述了系統(tǒng)的業(yè)務介紹、需求分析、系統(tǒng)功能分析以及開發(fā)環(huán)境分析。第四章:此系統(tǒng)的系統(tǒng)設計介紹。包括系統(tǒng)設計目標及原則、系統(tǒng)概要設計、具體細節(jié)設計。第五章:此系統(tǒng)的系統(tǒng)實現(xiàn)。描述了從配置環(huán)境的搭建到各頁面以及其相應功能的設計。第六章:介紹運行條件以及測試環(huán)境、功能測試、可用性測試、性能測試和測試環(huán)境與條件。并使用了實際的測試對各個頁面以及其相應功能進行功能測試和性能測試,最后對相應結果給出了測試結論以及對此系統(tǒng)實際運用的評價。第七章:結束語,總結了本文相關成果與收獲,并指出工作上不足和如何進一步的改進。
相關技術Android技術說到開源操作系統(tǒng)就不得不提到基于Linux的Android。該平臺的架構非常簡單,可以利用硬件資源性能的全部優(yōu)點。它的開源優(yōu)勢大幅度大的減少了應用程序的開發(fā)成本,使安卓成為最為便攜的操作系統(tǒng)之一。與其他移動操作系統(tǒng)的開發(fā)平臺比較,安卓優(yōu)勢更為明顯,與此同時其競爭力也不容小覷。安卓的開源也使安卓移動終端的價格不太高。因此使用者能夠更加方便快捷的得到信息?;诖酥黝},安卓操作系統(tǒng)用于開發(fā)的信息管理移動應用系統(tǒng)。安卓平臺具有以下主要功能:對于移動電話的特性,Dalvik虛擬機所需資源不多,運行速度卻更快。APP框架:此框架支持APP組件的重新利用和更換。支持攝像頭,以及其他的系統(tǒng)硬件。Android的系統(tǒng)架構Android系統(tǒng)架構如圖2-1所示。圖2-1系統(tǒng)架構第一層:Linux系統(tǒng)和程序也成為Linux的內核:由編程語言C語言實現(xiàn)。第二層:本地框架和Java運行時環(huán)境(庫和AndroidRUNTIME)第三層:安卓APP框架(AndroidFRAMEWORK)第四層:AndroidAPP(APPLICATIONS)開發(fā)的AndroidApp以及核心AndroidApp處于同一級別,它們都內置在Android系統(tǒng)API之中。Android內核Linux內核如圖2-2所示。圖2-2linux內核從Linux角度來觀察在最新版本的Google中,它不具備虛擬內存文件系統(tǒng)。使用模擬器系統(tǒng)和控制臺的命令,輕松控制安卓shell,系統(tǒng)中包含的設備,提供一些基本的命令工具,/system/bin流體主機非常簡單而且它是某種秩序。安卓系統(tǒng)的當前模式通過Eclipse開發(fā)軟件自動安裝,一般步驟存儲在/中data/application數(shù)據(jù)/Android隱藏數(shù)據(jù)和常見核心沒有顯著差異,可以用作Linux開發(fā)和黑客攻擊。Lib運行時如圖2-3所示。圖2-3lib運行庫OCR簡介OCR(OpticalCharacterRecognition),指使用各種電子設備來完成光學字符識別,比如,各種照相機以及手機,第一步先檢測目標文件的字符,運用文字的識別的方式將其目標文字形狀翻譯成計算機文字,第二步就是檢測出亮與暗之間不同圖案來確定其形狀。由于第一代OCR產品的出現(xiàn)在60年代初,不斷發(fā)展和完善的半個世紀之后,在各種OCR技術的研究,包括手寫取得了顯著成效,并為OCR產品的功能需求。這也是最初的擔憂。在上個世紀歐洲科學家Tausheck第一次提出了光學字符識別的理論后,美國科學家亨德爾還提出利用技術來識別單詞的想法。標識上印中國文字最早的研究是由凱西和IBM的納吉。1966年,他們發(fā)表對中國文字識別的第一篇文章,其中使用模板匹配識別一千個中國字符。在20世紀后期,日本各領域學者著手了漢字識別的研究。然而我國的OCR技術研究開始較晚,一直到了上個世紀70年代后期,才開始于研究識別數(shù)字,英文字母和符號。然而由于各種因素,開始階段的識別和產品化,這些OCR軟件不可以滿足人們尤其是專業(yè)人士的實際的各種需求。同時,由于這類軟件所要搭載的硬件設備的成本較高,以及日常使用速度也會與理論速度有較大差異,換句話說也就是沒有達到預期實用水平。因此,這也是為什么只有有關部門和新聞行業(yè)才運用OCR軟件。(1)圖像處理模塊打開照相機拍攝照片或者打開系統(tǒng)相冊選取目標圖片后,圖像剪裁,圖像鏡像轉換和圖像旋轉等為圖像處理模塊主要具有的功能。目標圖像輸入后,選取好目標區(qū)域為圖片處理模塊的首要工作,以便去除干擾。(2)版面劃分模塊OCR軟件將會把相同的布局分隔表格或者文字等,以便可以單獨處理它們以及以什么順序處理它們。(3)文字識別模塊文字識別模塊是核心部分。對于漢字,它通常由一個單詞和一個單詞識別,即單個單詞識別。(4)文字編輯模塊此模塊具體修改與編輯OCR識別的文本。JAVA(計算機編程語言)Java語言的一大特性即為一種被稱為面向對象的高級語言。在高級語中Java是比較普遍為開發(fā)者所喜愛的編程語言,它不僅吸收了其他各種各樣的編程語言的各種優(yōu)勢之處,還消除了其他語言的一些劣勢,比如這些語言的許多不易理解的多重繼承或者是指針的概念。因此,Java編程語言功能強大并且簡單易于開發(fā)者的使用。(1)簡單性Java看似設計得很像其他變成語言,但是設計者們把其他語言中許多特征刪除以便使語言小和容易熟悉,然而這些特征是程序員很少用的。(2)面向對象就像上文提到的。Java不僅吸收了C語或者其他編程語言的各類優(yōu)勢,還消除多重繼承以及其他難以理解的地方。(3)分布性Java的設計支持網(wǎng)絡上應用程序,所以我們可以清楚了解到Java語言是一種分布的編程高級語言。Java語言支持網(wǎng)絡連接以及Socket類,與此同時它還支持流媒體的不同級別,這樣使用者就能夠生成分布式客戶機以及服務器。(4)編譯和解釋性在日常生活中,我們所了解的機器代碼,和Java編譯器產所生的字節(jié)碼是不同的。設計有效程序發(fā)送到其他平臺體系結構就是Java語言為開發(fā)者以及普通用戶所提供的中立目標文件格式。這也是為什么在其他任何操作系統(tǒng)上都可以運行Java程序。(5)穩(wěn)健性一開始,Java語言被廣大開發(fā)者使用于編寫大多數(shù)消費類電子產品,這也是為什么越來越多人用它編寫功能復雜的應用程序。異常處理使程序更加健壯。異通常是一種類似異常發(fā)生的信號。(6)安全性Java的存儲分配模型包括如何從Web加載類。例如,加載的類放在單獨的命名空間而不是本地類中。(7)便攜性Java環(huán)境可以移植到其他平臺和操作系統(tǒng)。(8)高性能先去編譯再去解釋是Java語言的另一大特性,這也就是為什么它沒有其他的完全編譯的語言速度更加快。當然,不可否認的是在更多情況下,更多開發(fā)者關注的是性能。(9)多線索性多線程語言是Java的特點,編程變得簡單是因為其可以同時處理不一樣的任務。(10)動態(tài)性Java語言是動態(tài)語言是因為其可以在適應不斷變化環(huán)境。文字識別技術圖像的裁剪:,更好的利用移動終端本身硬件資源是為跟有效的進行圖像文字識別的速率的關鍵,不僅可圖像文字進行光學字符識別,在識別之前還需要裁剪圖像,與此同時最大程度的保留包含文本信息的區(qū)域,移除非文本的圖像區(qū)域。圖像的灰度化處理:如何更高效的處理不同類型的圖像是文字識別的一大關鍵。經(jīng)過圖像里的字符灰度以及兒子話處理后,人們將得到二值化圖像,然后就是對其進行歸一化的操作,這也使得其數(shù)據(jù)的大小與原文的模板大小幾乎相同,最后才是得到處理完成的字符。得到后的圖像數(shù)據(jù)將和已經(jīng)編寫儲存好的字符模板一一匹配,這樣才能得到最為相似的字符。圖像的二值化:顧名思義就將剛剛在上一步通過灰度化將原本五彩斑斕的彩色圖片轉換成灰度圖片后,得到的結果灰度圖像通過二值化處理,轉換成計算機認識的二值化圖片。(4)圖像的文字識別:這也是最后的一步,分割文本處理,得到后的字符提煉出來再進行相應字符的匹配識別。百度圖片翻譯SDK文本編輯模塊主要修改以及編輯OCR識別文本。百度翻譯API是百度云平臺為開發(fā)者提供的識別與翻譯服務的接口。百度翻譯致力于幫助用戶跨越語言空白,更快捷方便地進行溝通,提供數(shù)千萬的翻譯每天都有服務。大型滿足各類用戶的翻譯需求。目前在中國,英國,日本,韓國,法國,新加坡和俄羅斯提供語言翻譯服務,如日語,日語,英語,泰語,普通話和廣東話。相關數(shù)據(jù)類解釋:語種類Language:表2-1語種類Language語種簡寫對應語種Language.ZH中文Language.EN英文Language.JP日語Language.KOR韓語Language.PT葡萄牙語Language.FRA法語Language.DE德語Language.IT意大利語Language.SPA西班牙語Language.RU俄語識別結果OcrResult類:表2-2識別結果OcrResult類屬性對應含義error錯誤碼errorMsg錯誤碼對應的錯誤信息from源語言方向to目標語言方向contents圖中識別的每塊結果sumSrc全部的識別原文sumDst全部的識別翻譯結果識別結果OcrContent類:表2-3識別結果OcrResult類屬性對應含義src該塊識別的原文結果dst該塊識別對應的譯文結果rect該塊在圖中對應的區(qū)域(依次順序表示left,top,right,bottom)lineCount該塊中識別的原文行數(shù)(4)簽名生成方法如下表所示:表2-4簽名生成返回值表字段名類型描述fromTEXT翻譯源語言toTEXT譯文語言trans_resultMIXEDLIST翻譯結果srcTEXT原文dstTEXT譯文(5)錯誤碼列表:當翻譯結果無法正常返回時,請參考下表處理:表2-5錯誤碼表錯誤碼含義0成功52001請求超時,請重試52002服務端系統(tǒng)錯誤,請重試52003未授權用戶,請檢查appid是否正確或者服務是否開通52010開放設備授權容量不足54000固定參數(shù)有誤54001簽名錯誤54003訪問頻率受限54004賬戶余額不足54005長query請求頻繁58000客戶端IP非法58001譯文語言方向不支持69001上傳圖片數(shù)據(jù)有誤69002圖片識別超時69003內容識別失敗69004識別內容為空69005圖片大小超限(超過4M)69006圖片尺寸不符合標準(最短邊至少30px,最長邊最大4096px)69007圖片格式不支持(png/jpg)69008設備號為空-1001sdk內部錯誤-1002本地圖片文件無效-1003識別的bitmap無效-1004圖片大小超過最大支持50M-1005保存文件失敗-1006網(wǎng)絡請求超時失敗-1007服務器返回為空-1008返回數(shù)據(jù)不合法,解析失敗-1009發(fā)送請求時遇到異常(errorMsg中會有異常信息)-1010HTTP請求失敗(errorMsg中會有statusCode)系統(tǒng)分析可行性分析此分析將使此系統(tǒng)能夠在最低的開發(fā)成本下實現(xiàn)了最高的經(jīng)濟效率??尚行苑治龅哪康氖顷U明研究方向,并根據(jù)開發(fā)系統(tǒng)的用戶需求闡明目標。通過對此系統(tǒng)的框架中不同功能的模塊進行詳細分析,并與此同時找到多種的可行性較高的方法。對Android移動平臺圖像處理識別(翻譯)系統(tǒng)的各項技術,進行經(jīng)濟方面以及操作情況的可行性研究,這樣才能保證合理使用信息資源,避免了多余的設計工作。由操作錯誤引起的系統(tǒng)漏洞將更加有助于我對此設計所做出其他更加合理的多樣性選擇。技術可行性(1)硬件可行性分析相對于PC端,移動端更加靈活易用,隨著移動互聯(lián)網(wǎng)的普及,人們對移動終端的依賴也越來越重,所以選擇了設計搭載在移動終端上的應用程序。此系統(tǒng)在硬件的方面只存在一般需求,并不會有著特殊的要求,例如對手機內存以及儲存容量有著較高要求,僅僅只是在一般的硬件配置就能夠輕松的實現(xiàn),然而還是需要確認系統(tǒng)需要正常的工作就可以了,比如有足夠的儲存容量安裝軟件,以及足夠的內存來運行應用程序,換句話來說,就是需要比較良好的運行環(huán)境以及更加高效的操作效率。倘若在配置過低的硬件上運行,這也會可以導致其系統(tǒng)的將以低性能運行從而效率低下,最后的結果就是此系統(tǒng)運行將可能不流暢甚至卡頓。所以,在這次系統(tǒng)設計中,從開發(fā)到調試再到正式使用運用了AndroidStudio自帶的虛擬機,運行內存為4GB,存儲容量為64GB,以及運行內存為4GB和6GB以及儲存容量為64GB和128GB的安卓手機,所以可以確定就目前市場上的各種配置手機而言,都可以使用此應用程序。(2)軟件可行性分析在這部分分析當中,借口動態(tài)模型中的通用機制也是由Android系統(tǒng)提供的,并且在設計里更加集中。除此以外,Java編程語言的模塊化以及存儲信息也是其語言的特點。此外,開源以及代碼重用也是Android系統(tǒng)的一大特性,更加靈活以及開放程度也是選擇其作為開發(fā)平臺的理由。因此,考慮到系統(tǒng)的實際情況,選擇安卓系統(tǒng)作為系統(tǒng)的開發(fā)。根據(jù)上文提到的情況,根據(jù)市面上大多數(shù)的Android系統(tǒng)比例,選擇了在Android5.0作為初步的系統(tǒng)版本,但在后來了解到,Android6.0以上的權限獲取方式有所不同,所以后期選擇了目前最新的系統(tǒng)Android9.0版本。在最后,分別在Android5.0,6.0,7.0,8.0,9.0五個系統(tǒng)版本上進行了測試。綜上所述,本系統(tǒng)的設計和實現(xiàn)中是可操作性是比較高的。操作可行性該系統(tǒng)基于Android系統(tǒng)開發(fā),開發(fā)環(huán)境搭載在PC端上的Windows系統(tǒng),調試環(huán)境為AndroidStudio的虛擬機和Android實體機,在這些設備上安裝軟件進行訪問以及操作,各個界面簡單易操作,用戶的學習成本較低,可以很容易上手,使用不同的更能。綜上所述,此系統(tǒng)具有操作性簡易,學習成本低,便于管理,以及交互性強的主要特點。因此,可以開發(fā)該系統(tǒng)。經(jīng)濟可行性在考慮經(jīng)濟可行性時,要充分考慮基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)的開發(fā)時間成本以及物質成本,還有最后帶來的效益。綜上所述,從以下兩方面具體分析研究經(jīng)濟可行性:(1)以往人們日常生活中圖文本轉換(例如文本轉換)基于手動方法。而且更加依傳統(tǒng)PC端的程序來完成操作,這和移動互聯(lián)網(wǎng)的普及是相悖的。并且傳統(tǒng)方法在數(shù)據(jù)處理的方面,存在著大量工作所以會導致容易出錯。這也無形之中增加了成本。其次,有很多數(shù)據(jù)丟失以及數(shù)據(jù)不能在第一時間進行更新。所以基于移動終端的系統(tǒng),此應用程序可以更加高效以及節(jié)省成本的開發(fā)和使用,從而能夠有效的解決上述問題。(2)基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)使用的各類軟件都是是開源以及免費的,例如AndroidStudio以及IntelliJIDEA,這也就可以減少大量的資金以及能源,不僅大大降低了開發(fā)成本,也能夠增強系統(tǒng)設計。因此,該系統(tǒng)完全具有經(jīng)濟可行性。需求分析市場需求當代大學生甚至是高中生在學校聽課時,若想記錄老師所講內容,他們希望投影儀上或者黑板上的內容可直接保存,這樣就更能理解老師講授的知識。同樣,在日常生活中,如圖書館的閱讀材料,或記錄其他人的名片信息,我也希望有一種軟件可以取代手工錄制直接記錄紙張。上的內容。智慧型手機因為其豐富的多種類型功能使其在普通人的生活需求變得越來越高。隨著各種手機的迭代更新,其配置的不斷完善,光學識別技術在手機上的實際應用也隨之而來。識別軟件不僅可以使人們更加便捷的在各種論文中存儲有用信息,同時還可以提高了人們處理信息的能力,并且?guī)椭藗兇蚱普Z言障礙,使大家在不同語言環(huán)境下可以通過手機的OCR文本識別軟件以及翻譯軟件輕松了解周圍情況信息。比如在異國情調的餐廳,可以用手機掃描菜單,以便幫助訪客快速訂購,并了解商店的名稱和相關信息。與此同時,隨著移動終端的快速發(fā)展,手機的內存以及攝像頭像素相比前幾年都有不可忽略的進步。因此,研究移動終端上的文本識別技術的客觀條件已經(jīng)成熟。對于大多數(shù)用戶,尤其是年輕人,基本上每個人都有移動設備,甚至是好幾個移動設備。這也是為什么這一應用需要移動終端的推廣和運用。智能終端的用戶非常受歡迎,他們大多數(shù)是學生和工薪階層的人。智能終端的使用頻率在日常生活和學習工作中極高。對圖片內容的需求非常迫切,目前的市場并沒有類似的。目前在現(xiàn)實生活中文字識別與翻譯系統(tǒng)的一些主要應用方向有:(1)許多白領工作當中需要使用識別輸入工具,所以文字識別和翻譯系統(tǒng)起到了代替手動輸入文字的作用。(2)在外語外貿領域中,用于識別和翻譯一些外國郵件和高級技術理論,文字識別與翻譯將一定程度的降低其難度。(3)外國人來華旅游或者國人出國旅游,商務談判,文化交流,學習等場景中利用文字識別與翻譯系統(tǒng)實現(xiàn)的從外語文件識別翻譯,到路標,菜單等生活場景的識別翻譯。性能需求現(xiàn)在市場上已經(jīng)可使用的與OCR相關的APP,然而絕大多數(shù)都只在計算機上實現(xiàn)和使用,很少有在移動端上實現(xiàn)的應用程序,更不用說識別和翻譯的APP了。即使僅限于特定應用,例如,夏普名片識別和漢王名片,這些應用的范圍也很小,對非商業(yè)人士幾乎沒有用處。對大多數(shù)人來說,他們需要一種能夠快速識別目標文本,并在與此同時獲取翻譯結果的應用程序,并可對拍攝或者相冊中選取的圖片進行目標區(qū)域的剪裁。當他們需要獲取其文本信息后,只需要復制編輯原文識別結果以及翻譯后結果。為了讓應用程序達到實用的標準,需要達以下三個目標:(1)第一點也是最重要的一點,即為目標文本的識別率將要高達90%以上。倘若文本的識別率太低,則信息傳輸將存在偏差。由應用程序提供的這種信息有時使得用戶無法獲得準確的信息,并且應用程序丟失了它用的價值。(2)文本識別的時間應控制在5秒內。當用戶使用該應用程序時,通常需要這種文本獲取輔助,并且用戶希望程序盡可能快。為了達到這個目標,文應在5秒內控制單詞識別的時間。否則,用戶將體驗到焦慮的心理感受,這將大大降低用戶體驗。倘若用戶無法及時獲取信息,用戶將無法長時間使用該應用程序。每個系統(tǒng)花費了時間精力等設計出來后,則需要系統(tǒng)為設計者創(chuàng)造一定的價值,及為我們的生活帶來有利的影響,那么,則需要系統(tǒng)具有運行長期、穩(wěn)定展示和高效的運作等特性。界面需求目前,評估軟件質量的重要指標之一即為界面設計。(1)輸出設計輸出由計算機端解決,每個部分的有用信息都可以及時反映出來。輸出設計的標準不僅要明確不同管理層的所有需求,而且要簡潔,不要提供用戶不需要的信息。(2)輸入設計輸入的數(shù)據(jù)的準確性對整個系統(tǒng)的性能起著決定性意義。①輸入應盡可能低,以滿足處理要求。輸入量需和錯誤率成正比。②應使輸入準備和及其過程盡可能便捷高效。這樣使錯誤的發(fā)生率降低。③為了在一定程度上及時的更正錯誤,盡量早些檢查數(shù)據(jù)。④為了有效防止數(shù)據(jù)從兩種介質之間傳輸所發(fā)生的錯誤,輸入數(shù)據(jù)的處理所需形式需盡快記錄。系統(tǒng)功能分析功能概述基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)可以為用戶提供一下功能:拍照;打開相冊選擇圖片;對目標識別區(qū)域進行剪裁文字識別;文字翻譯;查閱識別翻譯歷史;語音播報;系統(tǒng)功能結構根據(jù)上述分析,得出了基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)的功能結構圖,如圖3-1所示。圖3-1系統(tǒng)功能結構圖開發(fā)環(huán)境分析(1)開發(fā)硬件平臺:CPU:酷睿i5/M3內存:8G硬盤:512G(2)開發(fā)軟件平臺:操作系統(tǒng):Windows10開發(fā)語言:java開發(fā)工具:Androidstudio/IntelliJIDEA數(shù)據(jù)庫:MySQL系統(tǒng)設計設計目標及原則系統(tǒng)架構設計,是需要能夠正確反映用戶與這一整個系統(tǒng)各部分模塊的接口之間具有有效的互動,與此同時,這也是需要非常清晰的,這有這樣才能在將來系統(tǒng)實際實現(xiàn)的時候,能夠保證其數(shù)據(jù)的可擴展性和安全性。所以說,只有正確的設計出該系統(tǒng),才能實現(xiàn)這一各關鍵目標,并且更加適應未來的各種發(fā)展趨勢。在整個系統(tǒng)的設計中,系統(tǒng)必須滿足以下要求:(1)數(shù)據(jù)安全性存儲有關隱私權的基于Android移動文本識別(翻譯)系統(tǒng)的系統(tǒng)數(shù)據(jù)需要確保數(shù)據(jù)的安全。這也是為什么需要在系統(tǒng)設計期間,采取必要的安全預防措施來處理潛在的安全問題。(2)易于操作性在各種普通使用者的可操作性范圍內,保證學習成本較低,更容易上手,能夠在高效但簡潔的各樣式界面中,全部相關的業(yè)務流程操作都能夠完成,并且能夠快速的了解所有相關信息,這將極大地加強了用戶的使用效率和以及可操作易用性,并能夠比較靈活地運用系統(tǒng)。(3)柔軟性由于這個基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)涉及到范圍較為廣泛,所以設計出的系統(tǒng)將具備最大程度的接受以及處理變化的能力。(4)擴展性因為各種圖像中的不同字體范圍較廣,所以基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)要求在設計的初始階段,需要尋找到更優(yōu)秀的可擴展方案。系統(tǒng)概要設計系統(tǒng)流程首先,在系統(tǒng)概要設計過程中,第一點也是最重要的就是對整個系統(tǒng)進行分析,分析出后需要實現(xiàn)哪些不同的功能,然后再對其功能進行細化。文字識別翻譯系統(tǒng)系統(tǒng)功能結構如圖4-1所示。圖4-1程序業(yè)務功能結構圖總體業(yè)務流程設計用戶開啟此App程序,若沒有賬號第一次使用此App,第一步需點擊注冊按鈕進入注冊頁面,填寫好相關信息后才完成注冊,返回登陸頁面進行登錄操作。登錄后進入初始頁面,主頁有圖片識別翻譯,查看識別翻譯記錄,退出三個主要功能。用戶選擇圖片識別翻譯功能進入相關頁面,點擊打開照相機拍照識別功能按鈕后,拍攝目標翻譯的圖像,選擇需識別翻譯區(qū)域進行剪裁后確定圖片;或者點擊相冊識別按鈕,打開系統(tǒng)相冊選取目標圖片,,選擇需識別翻譯區(qū)域進行剪裁后,系統(tǒng)判斷圖片大小進行壓縮。識別翻譯后相應文字出現(xiàn)在文本框中,用戶可復制文本以及點擊播音按鈕進行語音播報。返回進入主頁后選擇識別翻譯歷史記錄頁面,查看歷史記錄,查找相關記錄學習,并可點擊播音按鈕進行語音播報。返回進入主頁后可點擊退出按鈕,點擊確認返回登陸頁面。圖4-2總體業(yè)務功能流程圖詳細設計圖像文字識別步驟選擇圖片模塊此模塊實現(xiàn)了兩種讀取圖片的方式,第一種為打開系統(tǒng)照相機進行拍攝圖片,第二種為打開本地相冊選取圖片。圖像處理模塊圖像處理的主體部分有文檔掃描,圖像大小控制和旋轉等功能。在輸入圖像之后,倘若圖像放置不正確或者圖像區(qū)域過大,可以旋轉圖像以及剪裁圖像,為文本識別創(chuàng)造更好的條件,從而使得識別率更高。文字識別翻譯模塊這一模塊也是整個軟件的核心部分,文本識別翻譯模塊就是對主要對拍攝或者相冊選取的圖片信息進行“審核”。并將識別翻譯后的原文以及結果呈現(xiàn)出來。文字編輯模塊文本編輯模塊主要功能為修改與編輯識別翻譯文本。語音播報模塊對識別原文以及翻譯結果進行語音播報。查詢歷史記錄模塊查詢相關的歷史記錄,也可進行語音播報。代碼設計原則代碼設計遵循以下原則:(1)唯一性。實體或屬性與特定的代碼來表示。(2)標準化??紤]到系統(tǒng)執(zhí)行數(shù)據(jù)驗收和傳輸功能,負責通信和網(wǎng)絡需求,盡可能采用國際標準代碼,國家,部門。(3)多樣化。嘗試使用原始代碼和有效的業(yè)務流程已經(jīng)在使用并且易于使用。(4)可擴展性。可自行添加其他功能,得到更豐富的功能體驗。(5)鑒定性。更簡單的管理代碼,與此同時電腦應易于識別。(6)簡明性。能夠在最大程度上不影響編碼環(huán)境的情況下盡可能的簡單以及統(tǒng)一。系統(tǒng)實現(xiàn)配置環(huán)境搭建此基于Android移動平臺圖像處理系統(tǒng)使用Androidstudio作為開發(fā)工具。首先下載Androidstudio安裝包,可以從/下載最新版本,此次開發(fā)采用3.0版本。圖5-1Androidstudio啟動界面安裝成功后,需要安裝和配置Java環(huán)境,由于此基于Android移動平臺圖像處理系統(tǒng)App端使用了Java語言,因此需要安裝配置Java環(huán)境。JDK下載地址:/technetwork/java/javase/downloads/index.html,點開鏈接看到如下圖所示的界面:圖5-2JDK下載地址JDK安裝完成后,需要進行環(huán)境變量的配置,右鍵“我的電腦”—>“屬性”—>“高級系統(tǒng)設置”,下圖5-3,5-4,5-5所示:圖5-3JAVA_HOME變量圖5-4Path變量圖5-5CLASSPATH變量安裝和配置成功后,就可以編譯Android程序了。程序詳細設計AndroidManifest.xml清單文件配置信息如下圖5-6所示:圖5-6AndroidManifest.xml清單文件配置信息在項目的AndroidManifest.xml中增加如下權限,圖5-7所示。圖5-7權限信息初始頁面設計登錄后,用戶會看到初始界面,相應代碼下圖5-7所示:圖5-8初始頁面代碼初始頁面?zhèn)冗厵谠O計通過setContentView把初始頁面的靜態(tài)布局加載,圖5-9所示。圖5-9加載靜態(tài)布局獲取Toolbar后,把其支持位系統(tǒng)標題欄。通過getIntent()函數(shù)把登錄頁面的用戶信息加載進來。通過Gson()轉化為user對象。加載位于側邊欄的三個功能按鈕的圖標以及名稱,并通過適配器的方式進行綁定,圖5-10所示。圖5-10初始頁面?zhèn)冗厵诖a頂部顯示用戶名和手機號,圖5-11所示。圖5-11登初始頁面顯示用戶信息代碼在Android6.0(API23)發(fā)布之前,所有的權限都在安裝應用的時候顯示給用戶,用戶選擇安裝則表示全部接受這些權限,之后無法撤銷對這些權限的授權。Android6.0開始,一部分比較危險的權限需要在程序運行時顯式彈框,請求用戶授權。鑒于6.0之前的各安卓版本權限管理相對的不那么的安全,所以Android6.0開始只有在應用程序需要權限時,才提醒用戶是否選擇授權。這樣的用戶的自主性提高很多,比如用戶可以給APP賦予攝像的權限,也可以使用權限,檢查權限的方法:ContextCompat.checkSelfPermission()兩個參數(shù)分別是Context和權限名。返回值是:PERMISSION_GRANTEDifyouhavethepermission,orPERMISSION_DENIEDifnot.如圖5-12所示。圖5-12獲取權限代碼點擊退出按鈕,彈出確認框,點擊確認返回登陸頁面,相應代碼如圖5-13所示。圖5-13退出按鈕代碼點擊拍照識別按鈕,進入拍照識別頁面,點擊歷史記錄按鈕,進入歷史記錄頁面,相應代碼如圖5-14所示。圖5-14拍照翻譯及歷史記錄按鈕代碼拍照翻譯頁面設計拍照翻譯頁面布局文件fragment_ocr.xml相應代碼,如圖5-15所示:圖5-15布局文件fragment_ocr.xml核心代碼中通過findViewById獲取布局文件的相關控件,如圖5-16所示。圖5-16獲取相關控件初始化百度圖片翻譯SDK,輸入AppID,Appkey,如圖5-17所示。圖5-17初始化百度圖片翻譯SDK打開照相機拍照翻譯按鈕,設置點擊事件打開系統(tǒng)照相機,打開相冊翻譯按鈕打開系統(tǒng)相冊,并設置剪裁后輸出的照片長與寬,如圖5-18所示。圖5-18頁面兩個按鈕點擊事件獲取sd卡狀態(tài),判斷有無sd卡,如圖5-19所示。圖5-19獲取sd卡狀態(tài)拍照后剪裁圖片用的是github上一個專門對Android平臺以及第三方開源圖片剪裁的剪裁庫,剪裁后返回bitmap類型,并在imageView控件上把圖片展現(xiàn)出來,如圖5-20所示。圖5-20拍照處理圖片代碼打開相冊選擇照片進行剪裁后,這里會判斷剪裁后的圖片大小,如果過大會壓縮圖片,返回圖片uri類型,顯示在imageView控件上,并轉換成bitmap類型,如圖5-21所示。圖5-21相冊圖片處理代碼判斷用戶選擇什么目標語言進行翻譯后,設置百度翻譯對象并將圖片發(fā)送給百度翻譯,如圖5-22所示。 圖5-22選擇目標語言并將圖片傳給百度翻譯得到結果,顯示在文本框中,如圖5-23所示。圖5-23識別原文及翻譯結果顯示到文本框中歷史記錄頁面歷史記錄布局文件fragment_history_list.xml相應代碼,如圖5-24所示:圖5-24布局文件fragment_history_list.xml核心代碼中用inflate方法加載fragment_history_list布局文件,界面下圖5-25所示:圖5-25歷史記錄頁面查找列表項,并綁定適配器,如圖5-26所示。圖5-26綁定適配器系統(tǒng)測試在這一系統(tǒng)開發(fā)的最終步驟是系統(tǒng)測試,系統(tǒng)測試是系統(tǒng)中最為關鍵的一個環(huán)節(jié),測試的好壞關系到產品的發(fā)展??蛻魧浖馁|量、性能和可靠性等需求就要通過測試來實現(xiàn)。測試過程必須遵循嚴格,完整和標準化的原則。測試的主要目的就是看看在系統(tǒng)運行中,是否會出現(xiàn)bug,然后對出現(xiàn)的bug進行調試,直到程序完美運行。但是軟件的測試只能盡可能的減少bug,理論上來說是無法達到消除bug。但是bug越少,系統(tǒng)出錯的幾率就越低,用戶使用起來也更方便、更安全。測試環(huán)境與條件處理器:麒麟海思970/高通驍龍820處理器內存:6GB/3GB硬盤:128GB/32G操作系統(tǒng):Android5.0/9.0系統(tǒng)功能測試功能測試包括很多種,通常有五個方面,分別為:安全性、依從性、適用性、準確性以及可操作性行。本基于Android移動平臺文字識別(翻譯)系統(tǒng)功能測試如表6-1所示:表6-1系統(tǒng)功能測試初始頁面測試打開App完成登錄注冊一系列操作后,成功登錄進入初始頁面,可選擇拍照翻譯,歷史記錄,退出三個功能頁面,如圖6-1:圖6-1初始頁面拍照翻譯頁面功能測試在初始頁面點擊側邊欄拍照翻譯功能按鈕后,成功進入拍照翻譯功能頁面,選擇單選按鈕原文語言以及需要翻譯語言,此App提供,漢譯英,英譯漢,漢譯日,漢譯韓,漢譯法,漢譯西六種翻譯模式,選擇完后可點擊打開照相機拍照識別按鈕或者打開相冊識別按鈕,如圖6-2:圖6-2拍照識別頁面選擇打開照相機拍照識別按鈕,對焦好需要識別翻譯的圖像,點擊拍照快門,可確認是否使用此照片,可點擊左上角X返回重新拍攝,點擊右上角?確認圖片后進入剪裁環(huán)節(jié),用戶可根據(jù)需求(拍攝對象在鏡子里造成圖片鏡像,拍攝圖片上下顛倒等)點擊右上角鏡像旋轉按鈕進行編輯,用戶可剪裁需要識別的部分如圖6-3,6-4,6-5所示:圖6-3拍照頁面圖6-4確定圖片頁面圖6-5選擇識別區(qū)域進行剪裁識別翻譯完成,圖片顯示在中間,原文識別內容現(xiàn)在第一個文本框,翻譯后內容顯示在第二個文本框,用戶可根據(jù)自行需要復制內容,如圖6-6:圖6-6識別翻譯結果選擇打開相冊識別按鈕,選取需要識別的照片,經(jīng)過系統(tǒng)剪裁,如圖6-7:圖6-7選擇相冊圖片識別區(qū)域識別翻譯后,結果顯示在上文提到的區(qū)域,如圖6-8:圖6-8識別翻譯后結果翻譯歷史頁面功能測試登錄后進入初始頁面或者識別翻譯完成后返回初始頁面,可點擊側邊欄翻譯歷按鈕進入翻譯歷史頁面,進行查詢歷史記錄,如圖6-9所示:圖6-8翻譯歷史頁面性能測試性能測試運用模擬系統(tǒng)運行環(huán)境測試網(wǎng)站的性能,用來滿足使用者的需求。性能測試的重要技術指標包括:系統(tǒng)速度,網(wǎng)絡響應時間以及支持的并發(fā)節(jié)點數(shù)。(1)系統(tǒng)運行速度:安裝應用程序到各個版本不同型號的Android手機中,其中包括AndroidStudio自帶的虛擬機(Android9.0API284+64g),華為mate10pro(Android9.0API286+128g),榮耀9(Android9.0API284+64g),華為P7(Android5.0API224+64g),魅族MX(Android5.0API224+64g),沒有發(fā)現(xiàn)任何停頓、遲滯現(xiàn)象。(2)網(wǎng)絡響應時間:系統(tǒng)響應時間包括一下三個方面:第一是此系統(tǒng)的最小響應時間;二為此系統(tǒng)平均響應時間;三,系統(tǒng)最大響應時間。經(jīng)過測試,在正常情況下下,局域網(wǎng)內響應時間的三個數(shù)值分別為:2/3/5s,速度非???,用戶滿意。(3)支持并發(fā)節(jié)點數(shù):支持并發(fā)節(jié)點數(shù),就是在訪問量增大時,系統(tǒng)是否有延遲,經(jīng)過測試,當數(shù)據(jù)超過5000時,訪問有些延遲。測試環(huán)境與條件測試結果經(jīng)過對上述的測試結果分析,基于Android移動平臺圖像處理文字識別(翻譯)系統(tǒng)滿足圖像識別以及翻譯要求。所有基本功能齊全,操作簡單,系統(tǒng)運行良好。這是一個值得推廣以及應用的移動端應用程序??偨Y與展望通過這次的畢業(yè)設計,我不得不承認這個系統(tǒng)的相關的知識不僅融合了許多Android的知識還有JAVA語言的正確編寫,例如在編寫各個模塊的代碼,以及處理信息方面,甚至包括頁面設計,這大大改善了我獨立思考以及獨立學習的能力。對我自己而言,這毫無疑問在我將來的學習和工作中扮演著重要的作用。此外,在本次畢業(yè)設計當中我遇到的最為頭疼的困難方面就是大二大三期間關于Android方面的學習的知識不夠扎實,以及JAVA編程課程的學習不夠牢固,這也是為什么在剛一開始著手進行畢業(yè)設計的時候感覺十分頭疼,毫無頭緒甚至根本不知道該從何處下手,但好在自己不變的信念并且不斷的堅持下,在CSDN網(wǎng)站查詢了很多相關應用程序的開發(fā)介紹以及詢問了很多這領域的網(wǎng)友,并且與此同時在中國大學MOOC慕課網(wǎng)站以及極客學院網(wǎng)站參加了相關知識的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制箱車間培訓教材
- 制氫制氮安全培訓課件
- 口腔器械認識培訓
- 《我很重要》課件
- 口腔健康知識宣傳
- 化銅桿銅線、精深加工項目可行性研究報告模板-備案審批
- 論民事檢察和解的制度功能與實現(xiàn)
- 商業(yè)銀行受互聯(lián)網(wǎng)基金的影響及應對政策-以余額寶為例
- 口才培訓內容結構
- 制作與演講培訓班
- 電烘箱設備安全操作規(guī)程手冊
- 2026云南昆明市公共交通有限責任公司總部職能部門員工遴選48人筆試模擬試題及答案解析
- 2025至2030中國數(shù)字經(jīng)濟產業(yè)發(fā)展現(xiàn)狀及未來趨勢分析報告
- 上海市松江區(qū)2025-2026學年八年級(上)期末化學試卷(含答案)
- 導管室護理新技術
- 中國信通服務:2025算力運維體系技術白皮書
- 2026年焦作大學單招試題附答案
- 電力行業(yè)五新技術知識點梳理
- 《DLT 849.1-2004電力設備專用測試儀器通 用技術條件 第1部分:電纜故障閃測儀》專題研究報告 深度
- 餐飲業(yè)店長運營效率考核表
- 超市安全生產協(xié)議書
評論
0/150
提交評論