當前位置:
首頁 > 最新 > tesseract-OCR字型檔練習

tesseract-OCR字型檔練習

第一步:安裝需要用到的安裝包

jdk-8u101-windows-x64

tesseract-ocr-setup-3.05.01

jTessBoxEditor-1.7.3

簡體中文chi_sim

注意 tesseract需要編譯器(安裝包沒提供)Supported Compilers are:

GCC 4.8 and above

Clang 3.4 and above

MSVC 2015, 2017

安裝略…

第二步:tesseract-OCR初認識

-l lang

使用的語言。如果沒有指定,則採用英文。可以指定多種語言,由加號字元分隔。Tesseract使用3個字元的ISO 639-2語言代碼。(請參閱語言)

–psm N

將Tesseract設置為只運行布局分析的一個子集並假定某種形式的圖像。N的選項是:

0 =只有方向和腳本檢測(OSD)。

1 =使用OSD自動分頁。

2 =自動分頁,但沒有OSD或OCR。

3 =全自動頁面分割,但沒有OSD。(默認)

4 =假設一列可變大小的文本。

5 =假設一個統一的垂直排列文本塊。

6 =假設一個統一的文本塊。

7 =將圖像作為單個文本行處理。

8 =將圖像視為一個單詞。

9 =將圖像視為一個圓圈中的單個單詞。

10 =將圖像視為單個字元。

基本的命令行用法:

tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]

第三步:jTessBoxEditor訓練字型檔

之前玩沖頂大會的時候用過tesseract-OCR識別中文,可惜準確率很不理想,如下圖:

使用tesseract-OCR識別會得到

tesseract question.jpg result -l chi_sim --psm 6

result.txt

8.手木幾生產商諾墓亞最子刀是L又生產{十么為主?

發現錯了好多,機、基、初、以都沒有識別出來,有的還識別成兩個字。這個時候就需要我們來訓練中文字型檔。

準備好要識別的圖片question.jpg

第一步:

1、將圖片轉換成tif格式,用於後面生成box文件。可以通過畫圖,然後另存為tif即可。tif文面命名格式是有要求的:

lang 語言名(這可自定義,不要與現有的相同 eng、chi_sim等)

fontname 字體(就是字體名字,比如normal、italic、bold)

num 序號

接著打開cmd進入到該文件下,輸入以下命令:

[lang].[fontname].exp[num].tif

打開jTessBoxEditor目錄,雙擊train.bat打開(可能要等待5-6秒,耐心等待程序響應)

打開軟體後點擊Box Editor->Open->選擇對應的tif文件打開

得到如下效果

如果右邊字體沒有框框,左邊沒有內容是因為java8沒安裝好,或者安裝了兩個java版本,使用的是其他java版本

可以在控制台輸入

E:>java-version

javaversion"1.8.0_101"

Java(TM)SERuntimeEnvironment(build1.8.0_101-b13)

JavaHotSpot(TM) 64-BitServerVM(build25.101-b13,mixedmode)

來查看java版本。如果使用其他版本的,一般在環境變數Path裡面把java8的路徑寫在最前面就行。

接下來就是調整了。刪刪改改如下:

然後點擊save保存即可。

接著在E:TessBox下新建一個font_properties文件,注意沒有後綴

裡面內容寫入normal 0 0 0 0 0 表示默認普通字體

再接著新建一個txt文件,裡面內容寫入

echo Run Tesseract for Training..

echo Compute the Character Set..

echo Clustering..

echo Rename Files..

rename normproto hojun.normproto

rename inttemp hojun.inttemp

rename pffmtable hojun.pffmtable

rename shapetable hojun.shapetable

echo Create Tessdata..

combine_tessdata.exe hojun.

echo. & pause

保存,修改文件名為Train.bat。(為了偷懶,你也可以在命令里一句一句命令的敲)

雙擊批處理文件生成!

成功結果如下

把hojun.traineddata複製到C:Program Files (x86)Tesseract-OCR essdata下

試著識別

得到正確的結果

參考:

https://github.com/tesseract-ocr/tesseract/wiki/Training-Tesseract

訓練Tesseract

Tesseract-OCR的簡單使用與訓練

Tesseract-OCR識別中文與訓練字型檔實例

JAVA_HOME無效,java版本保持不變的問題解決


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 好奇如貓 的精彩文章:

TAG:好奇如貓 |