web-dev-qa-db-ja.com

Tesseract4.1.0のTraineddataファイルを作成する方法

ナンバープレートの文字を認識したい。 Ubuntu16.04でそれぞれのナンバープレートのtesseract-ocrをトレーニングする方法。私はトレーニングに慣れていないので。ナンバープレートを認識するための「traineddata」ファイルの作成を手伝ってください。

sample Number plate for which i want to detect character

sample Number plate for which i want to detect character.

ナンバープレートの画像が1000枚あります。

調べてみてください。どんな助けでもいただければ幸いです。

だから私は次のコマンドを試しました

tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] batch.nochop makebox

tesseract eng.arial.plate3655.png eng.arial.plate3655 batch.nochop makebox

しかし、それはエラーを与えます。

Tesseract Open Source OCR Engine v4.1.0-rc1-56-g7fbd with Leptonica
Error, cannot read input file eng.arial.plate3655.png: No such file or directory
Error during processing.

その後、私は試しました

tesseract plate4.png eng.arial.plate4 batch.nochop makebox

それは動作しますが、いくつかのプレートで。ステップ2になりました。エラーが発生します。

スクリーンショットが添付されています。

トレーニング用のプレート4画像

ステップ1とステップ2がターミナルに表示されます

ステップ1とステップ2の後に生成されたファイル

手順1と手順2の後に生成されたファイルの内容

3
Grv

Tesseract 4の.traineddataを作成しています

{*注:tesseractをインストールした後、cmdを開き、次の手順を実行します。}

ステップ1:トレーニングしたい画像のボックスファイルを作成する

構文:

tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] batch.nochop makebox

例えば:

tesseract own.arial.exp0.jpg own.arial.exp0 batch.nochop makebox

{*注:ボックスファイルを作成した後、ボックスファイル内の誤って識別された文字を変更または変更する必要があります。}

ステップ2:.trファイルを作成します(画像ファイルとボックスファイルを合成します)

構文:

tesseract [langname].[fontname].[expN].[file-extension] [langname].[fontname].[expN] box.train

例:tesseract own.arial.exp0.jpg own.arial.exp0 box.train

ステップ3:ボックスファイルから文字セットを抽出します(このコマンドの出力はunicharsetファイルです)

構文:

unicharset_extractor [langname].[fontname].[expN].box 

例えば:

unicharset_extractor  own.arial.exp0.box

ステップ4:必要に応じてfont_propertiesファイルを作成します。

構文:

echo "[fontname] [italic (0 or 1)] [bold (0 or 1)] [monospace (0 or 1)] [serif (0 or 1)] [fraktur (0 or 1)]" > font_properties 

例えば:

echo "arial 0 0 1 0 0" > font_properties

ステップ5:データをトレーニングします。

構文:

mftraining -F font_properties -U unicharset -O [langname].unicharset [langname].[fontname].[expN].tr

例えば:

mftraining -F font_properties -U unicharset -O own.unicharset own.arial.exp0.tr

ステップ6:

構文:

cntraining [langname].[fontname].[expN].tr

例えば:

cntraining own.arial.exp0.tr

{*注:ステップ5とステップ6の後に、4つのファイルが作成されました。(shapetable、inttemp、pffmtable、normproto)}

手順7:4つのファイル(shapetable、inttemp、pffmtable、normproto)の名前を([langname] .shapetable、[langname] .inttemp、[langname] .pffmtable、[langname] .normproto)に変更します。

構文:

rename filename1 filename2

例えば:

    rename shapetable own.shapetable
    rename inttemp own.inttemp
    rename pffmtable own.pffmtable
    rename normproto own.normproto

ステップ8:.traineddataファイルを作成する

構文:

combine_tessdata [langname].

例えば:

combine_tessdata own.

{*注:traineddataの作成には1つの画像exp0のみを使用します。複数の画像をトレーニングする場合は、トレーニングできます。つまり、exp1、exp2..expn}

参照

6
Lukman Mhd