tesseract-ocr是一款免費的開源圖像OCR文字識別軟件。你只要提供他一個命令,它就能根據(jù)你的命令將你想要識別的圖片中的文字轉換成文本的形式。到目前為止,它已經(jīng)支持簡體中文、繁體中文、英文、日文、韓文等等60多種語言的識別。并隨著大家對它功能上的要求在不斷改進、不斷消除bug、優(yōu)化功能。有需要的朋友歡迎前來下載tesseract ocr 中文版,小編在安裝包還未大家附上了中文包哦!
安裝教程
1、在本站下載解壓好安裝包,雙擊運行“tesseract-ocr-setup-3.02.02.exe”tesseract ocr 中文版開始安裝軟件,點擊“是”。
2、根據(jù)下面圖片上的教程,連續(xù)點擊“next”。
3、到了語言庫的選擇,你要使用到哪種語言就勾選哪種,默認是一種都不勾選,然后點擊“next”。
4、然后點擊“install”,開始正式安裝,安裝完成之后點擊“next”。
5、全部安裝完成點擊“finish”,tesseract ocr 中文版安裝結束。
6、檢驗是否安裝成功,運行(win+R)—輸入“cmd”—輸入“tesseract”,然后會出現(xiàn)下圖所示的的情況那就是安裝成功了。
使用教程
基本使用介紹1、我準備了一張驗證碼1.jpg放置在D盤的根目錄下,驗證碼圖:
2、然后輸入“D:”,回車,輸入“tesseract 1.jpg result”,意思為:識別D盤中1.jpg圖片中的內容,將結果輸出到result.txt的文件中。
3、結果如圖說是:
Tesseract-OCR識別中文與訓練字庫使用介紹一、準備工作
1、下載引擎,注意要3.0以上才支持中文哦,按照提示安裝就行。
2、下載chi_sim.traindata字庫。要有這個才能識別中文。下好后,放到項目的tessdata文件夾里面。
3、下載jTessBoxEditor,這個是用來訓練字庫的。
以上的幾個在百度都能找到下載,就不詳細講了。
二、識別
1、進入cmd,進入到要識別的圖片的路徑下。
2、輸入命令
例如我的圖片識別就是:
識別完后會生成result.txt文件
當然啦效果不太理想。所以我們要訓練自己的字庫。
三、訓練
1、將圖片轉換成tif格式,用于后面生成box文件??梢酝ㄟ^畫圖,然后另存為tif即可。
更改圖片名字,這個是有要求的
tif文面命名格式[lang].[fontname].exp[num].tif
lang是語言 fontname是字體
比如我們要訓練自定義字庫 mjorcen字體名normal
那么我們把圖片文件重命名 mjorcen.normal.exp0.jpg在轉tif。
2、生成box文件。
box文件和對應的tif一定要在相同的目錄下,不然后面打不開。
3、打開jTessBoxEditor矯正錯誤并訓練
打開train.bat
找到tif圖,打開,并校正。
4、訓練。
只要在命令行輸入命令即可。
在這我明明已經(jīng)矯正好了,但是還是有1個字符不能識別出來,報的錯跟實際上完全沒有相關性,不知道是不是bug,到后面的結果就是“園”字沒有識別出來。
先不管,畢竟只有一個樣本。
新建一個font_properties文件
里面內容寫入 normal 0 0 0 0 0 表示默認普通字體
繼續(xù)敲命令
最后會生成五個文件,把目錄下的unicharset、inttemp、pffmtable、shapetable、normproto這五個文件前面都加上normal.
如圖:
命令行輸入,合并五個文件:
得到訓練好的字庫。
四、測試
1、把 normal.traineddata 復制到Tesseract-OCR 安裝目錄下的tessdata文件夾中
2、識別命令:
3、效果
對比:
總結:肯定要自己訓練過后的字庫識別效果好,接下來要把整個項目弄進android,還要研究怎么將多個字庫合并成一個字庫,因為我不可能一次訓練完所有的圖片文字的。到時候有什么成果了再分享博文。希望大家可以點贊!謝謝。
更新:沒有錯誤的話命令行的提示應該是這樣的
附錄
Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
pagesegmode values are:
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
-l lang and/or -psm pagesegmode must occur before anyconfigfile.
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
tesseract 圖片名 輸出文件名 -l 字庫文件 -psm pagesegmode 配置文件
例如:tesseract 1.jpg result -l chi_sim -psm 7 nobatch
-l chi_sim 表示用簡體中文字庫(需要下載中文字庫文件,解壓后,存放到tessdata目錄下去,字庫文件擴展名為 .raineddata 簡體中文字庫文件名為: chi_sim.traineddata)
-psm 7 表示告訴tesseract 1.jpg圖片是一行文本 這個參數(shù)可以減少識別錯誤率. 默認為 3
configfile 參數(shù)值為tessdataconfigs 和 tessdatatessconfigs 目錄下的文件名
0條評論