ocr (optical character recognition,光學字元識別)是指電子裝置(例如掃瞄器或數位相機)檢查紙上列印的字元,通過檢測暗、亮的模式確定其形狀,然後用字元識別方法將形狀翻譯成計算機文字的過程;
tesseract是ray smith於1985到2023年間在惠普布里斯托實驗室開發的乙個ocr引擎,曾經在1995 unlv精確度測試中名列前茅。但2023年後基本停止了開發。2023年,google邀請smith加盟,重啟該專案。目前專案的許可證是apache 2.0。該專案目前支援windows、linux和mac os等主流平台。但作為乙個引擎,它只提供命令列工具。
現階段的tesseract由google負責維護,是最好的開源ocr engine之一,並且支援中文。
中文:chi-sim.traineddata
英文:eng.traineddata
tess-two在git上位址為:
我編譯使用的環境:
ndk環境的具體配置及cygwin的安裝方法可以參照這篇部落格:windows下android ndk環境搭建
編譯需要耗費挺長時間,編譯完成後,會在tess-two目錄下生成libs資料夾,其中包含了編譯生成的.so檔案,可以進行使用。
編譯完成後,新建工程,將之前編譯好的libs資料夾下的armeabi和armeabi-v7a資料夾拷貝至新建工程的libs資料夾下,將tess-two工程中src資料夾下的兩個包直接拷貝至**中或者打成jar進行使用。工程如下:
識別函式:
/**
* 識別中文字,需要放入非同步執行緒中進行執行
* *@param bitmap
*@return
*@throws ioexception
*/public string parseimagetostring(string imagepath) throws ioexception
// 獲取bitmap
bitmapfactory.options options = new bitmapfactory.options();
options.insamplesize = 2;
bitmap bitmap = bitmapfactory.decodefile(imagepath, options);
// 旋轉角度
int rotate = 0;
exifinte***ce exif = new exifinte***ce(imagepath);
// 先獲取當前影象的方向,判斷是否需要旋轉
int imageorientation = exif
.getattributeint(exifinte***ce.tag_orientation,
exifinte***ce.orientation_normal);
log.i(tag, "current image orientation is " + imageorientation);
switch (imageorientation)
log.i(tag, "current image need rotate: " + rotate);
// 獲取當前的寬和高
int w = bitmap.getwidth();
int h = bitmap.getheight();
// 使用matrix對進行處理
matrix mtx = new matrix();
mtx.prerotate(rotate);
// 旋轉
bitmap = bitmap.createbitmap(bitmap, 0, 0, w, h, mtx, false);
bitmap = bitmap.copy(bitmap.config.argb_8888, true);
// 開始呼叫tess函式對影象進行識別
tessbaseapi baseapi = new tessbaseapi();
baseapi.setdebug(true);
// 使用預設語言初始化baseapi
baseapi.init(tessconstantconfig.tessbase_path,
tessconstantconfig.default_language_chi);
baseapi.setimage(bitmap);
// 獲取返回值
string recognizedtext = baseapi.getutf8text();
baseapi.end();
return recognizedtext;
}
經過測試,發現tess-two的識別率不是很高,對一般電腦輸入文字生成的,識別度較高,但對於手寫問題,識別率較低,可能需要進一步進行訓練。下邊是我識別的結果截圖:
總結tess-two的使用方法,大致可分為以下幾步:
新建工程測試,訓練
我是**
OCR文字捕獲工具
initiator 是一款易於使用的小型 macos ocr 光學字元識別 應用程式,可提取和識別 mac 計算機螢幕上的任何不可編輯文字。作為一項額外功能,它可以將圖形檔案轉換為可編輯的文字。捕獲文字和圖形!將您的生產力提公升到乙個新的水平!如果您之前使用過 mac 內建的截圖應用程式或任何其他截...
手機平台人像識別ocr技術
手機平台人像識別技術 人臉活體檢測識別技術 產品背景 隨著深度學習方法的應用,手機平台人像識別技術 技術的識別率已經得到質的提公升,目前我司的 手機平台人像識別技術 率已經達到99 手機平台人像識別技術 技術與其他生物特徵識別技術相吃比,在實際應用中具有天然獨到的優勢 通過攝像頭直接獲取,可以非接觸...
OCR雲識別之雲識別OCR
一 ocr雲識別行業背景 大資料 分析 整合 資源分配。沒有雲的概念,這一切都是扯淡一樣的。雲 已經讓各行各業更加的智慧型化 無縫結合。ocr雲識別已經從傳統的pc端公升級到移動端,再到現在的雲端。跟上時代的潮流,漫步雲端,才能走的更遠。二 ocr雲識別形式 公共雲和私有雲 簡單來說,雲服務可以將企...