19

画像から数字をスキャンするアプリケーションを書いています。

数字はOCR-Bフォントを使用しており、文字が含まれている場合もあり+ます>

これは私のソース画像です:

ソース画像

文字セットを言及された文字に制限した場合でも、Tesseractを使用したスキャンはあまり良くありませんでした。TesseractのOCRBトレーニングファイルが見つからなかったため、自分でトレーニングすることにしました。

このトレーニング画像を作成し、そこからボックスファイルを作成しました。ボックスファイルは正しく、すべての文字が正しく一致しています。

次に、ここで説明するすべての手順を実行して、他の必要なファイルを作成しました。

この新しくトレーニングされたOCR-Btessdata-setを使用すると、ソースイメージでかなり良い結果が得られますが、小さなバグが1つあります。すべて1がsと間違えられ8、その逆も同様です。画像の処理に使用されたコマンドは

$ tesseract esr2c.tif ocrb-esr2c -l ocrb

ソース画像の出力は

0800000001456> 8 00000195731208 8 01050008 023+ 08 0301226> 20

すべて1のsと8sを入れ替えてソース画像と比較すると、出力は正しくなります(無視できる最後の2文字を除く)。

これはどのように起こりますか?トレーニングプロセスでミスをしましたか?どうすれば修正できますか?

4

2 に答える 2

6

ボックス ファイルのどこかに 1 と 8 の値 (文字) が正しくない可能性があります。jTessBoxEditorプログラムを使用して確認できます。その場合は、修正して言語データ ファイルを再生成し、再試行してください。

于 2011-09-03T16:53:25.437 に答える
2

OCR A拡張フォントの1か月の取り組みの後、tesseract 2.04をトレーニングしました。非常にうまく機能し、フォント サイズ 14 で 90 以上の精度を示しています。

トレーニング画像は高コントラスト画像である必要があります。「GIMP」画像エディタを使用して、次のメニューを実行します 色 -> 情報 -> ヒストグラム - 標準偏差値の色を読み取る -> しきい値 -> 「標準偏差値」をしきい値として書き込む 画像を保存 トレーニングに使用します。

「qt-box-editor-1.06.exe」を使用してボックスファイルを確認および編集します。非常に使いやすいです。その中のすべてのボックスと文字をチェックします。それは非常に重要です。ボックス ファイルのどこかに 1 と 8 の文字が正しくありません。

他のコマンドを実行します。

于 2011-12-20T13:47:40.843 に答える