画像から数字をスキャンするアプリケーションを書いています。
数字は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と8
sを入れ替えてソース画像と比較すると、出力は正しくなります(無視できる最後の2文字を除く)。
これはどのように起こりますか?トレーニングプロセスでミスをしましたか?どうすれば修正できますか?