Android中基於Tesseract OCR的文字識別應用
一、Tesseract OCR引擎
Tesseract OCR是HP公司於1985~1995年間開發的商業級OCR(Optical Character Reader, 光學字元閱讀器)引擎,並於2005年開放原始碼。以下是它sourceforge上的網址:
http://sourceforge.net/projects/tesseract-ocr/?source=directory
現在已轉移到谷歌的程式碼服務下:
https://code.google.com/p/tesseract-ocr/
原始碼和字型檔的下載列表:
https://code.google.com/p/tesseract-ocr/downloads/list
谷歌的伺服器在國內不穩定,可以從http://pkgs.fedoraproject.org下載到所需的軟體包和字型檔包:
c> 原始碼:http://pkgs.fedoraproject.org/repo/pkgs/tesseract/tesseract-ocr-3.02.02.tar.gz/
> 中文字型檔:http://pkgs.fedoraproject.org/repo/pkgs/tesseract-langpack/tesseract-ocr-3.02.chi_sim.tar.gz/
> 英文字型檔:http://pkgs.fedoraproject.org/repo/pkgs/tesseract/tesseract-ocr-3.02.eng.tar.gz/
二、面向Android的Tesseract工具
tess-two是Tesseract Tools for Android (tesseract-android-tools) 的一份拷貝,並新增了一些功能。Tesseract Tools for Android是Tesseract OCR和Leptonica影像處理庫的Android API與構建檔案的集合。github上的網址為:
https://github.com/rmtheis/tess-two
關於tess-two的編譯過程,可以參考上述網址,根據我的編譯經歷,發現執行”android update project –path .”一步是,需要指定–target選項,其引數通過命令”android list targets”獲取到id值,再指定,如下(記得連線好你的Android手機)。
root@Leon:/home/work/tess-two# android list targets Available Android targets: ---------- id: 1 or "android-18" Name: Android 4.3 Type: Platform API level: 18 Revision: 1 Skins: WVGA854, WXGA800, WSVGA, WVGA800 (default), WQVGA400, WXGA720, QVGA, WQVGA432, WXGA800-7in, HVGA ABIs : armeabi-v7a root@Leon:/home/work/tess-two# android update project --path . --target 1
其中的”1″便是來自id後面的值。之後,便按照tess-two的github上的描述,新增到Eclispe即可。
三、基於tess-two的Android應用
有了面向Android的Tesseract庫tess-two,接下來就是使用Android應用來測試和使用了。github上的android-ocr就是這樣的應用:
https://github.com/rmtheis/android-ocr
我測試使用的是來自Mike_Wong的應用,參考了文章《淺析android OCR文字識別》,文章中包含了原始碼的下載地址。解壓原始碼並匯入到Eclipse之後,刪除目錄中的”gen”目錄,並關閉工程再重新開啟即可,為的是重新生成gen目錄及其中的內容。原始碼中已包含tess-two編譯會生成的libtess.so和liblept.so,並且包含了libjpeg.so。在編譯並安裝應用之前的唯一步驟是,在目標手機的SD目錄下建立tessdata目錄,將上面講述的中英文字型檔新增到該目錄,即“/sdcard/tessdata/”目錄。
經過測試,發現演算法的執行時間還是比較慢的,一段話的中文,處理時間大約20秒。識別精度也比較有限,在一張照片中文字比較多時,識別精度有所下降,如果文字比較少且比較大,則精度較高。
附錄:其它參考文章
1. 《Android OCR 之 tesseract》:http://www.cnblogs.com/hangxin1940/archive/2012/01/13/2321507.html
2. 《安卓平臺tess-two的圖片識別終於成功》:http://www.cnblogs.com/muyun/archive/2012/06/12/2546693.html
3. 《tesseract-ocr訓練方法》:http://my.oschina.net/lixinspace/blog/60124
4. 《Tesseract 3 語言資料的訓練方法》:http://blog.wudilabs.org/entry/f25efc5f/
相關文章
- 文字識別OCR開源框架的對比--Tesseract vs EasyOCR框架
- 用 Tesseract 開發一個你自己的文字識別應用
- Tesseract OCR AndroidAndroid
- PHP OCR實戰:用Tesseract從影像中讀取文字PHP
- 文字識別解決方案-OCR識別應用場景解析
- Android OCR之tesseractAndroid
- Tesseract-OCR 字元識別---樣本訓練字元
- 中安OCR文字識別系統
- Android OCR之tesseract章Android
- 可識別影象中100種人類語言文字的純Javascript OCR庫包:Tesseract.jsJavaScriptJS
- 可識別影像中100種人類語言文字的純Javascript OCR庫包:Tesseract.jsJavaScriptJS
- ocr文字識別技術
- 關於移動端OCR證件識別的應用
- 基於神經網路的OCR識別神經網路
- 基於PyTesseract與PyQt5 的中文OCR識別應用程式設計QT程式設計
- OCR技術-文字影像識別
- ocr文字識別軟體怎麼識別手機上的照片文字?
- TH-OCR文字識別技術
- Text Scanner for Mac ocr文字識別工具Mac
- OCR文字識別工具:OCRKit Pro中文
- OCRKit Pro for mac (OCR文字識別工具)Mac
- OCR文字識別工具:OCRKit Pro macMac
- Tesseract-OCR-02-Tesseract-OCR 的安裝與 環境變數配置變數
- OCR表單識別SDK的部署及應用
- 【實戰】基於OpenCV的水錶字元識別(OCR)OpenCV字元
- Python爬蟲教程-29-驗證碼識別-Tesseract-OCRPython爬蟲
- OCR文字識別軟體線上如何操作?
- 如何精準實現OCR文字識別?
- 基於百度雲的OCR識別(Python)Python
- 圖卷積在基於骨架的動作識別中的應用卷積
- [譯] 用於 iOS 的 ML Kit 教程:識別影像中的文字iOS
- excel表格文字識別-ocr表格文字提取api介面整合ExcelAPI
- OCR文字識別工具:Cisdem OCRWizard for Mac v5.1.0啟用版Mac
- 有道自然語言翻譯和文字識別OCR(圖片文字識別)介面呼叫
- CTPN/CRNN的OCR自然場景文字識別理解(一)RNN
- OCR識別圖中文字工具:iText for mac v1.7.7中文啟用版Mac
- 通用辦公文件識別-免費通用文字識別API-OCRAPI
- python3使用Pillow、tesseract-ocr與pytesseract模組的圖片識別的方法Python