ナンバープレートの文字を認識したい。 Ubuntu16.04でそれぞれのナンバープレートのtesseract-ocrをトレーニングする方法。私はトレーニングに慣れていないので。ナンバープレートを認識するための「traineddata」ファイルの作成を手伝ってください。
ナンバープレートの画像が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の後に生成されたファイルの内容
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}