67

tesseract数字だけを認識したい。問題は、数字と文字が混在していてSetVariable("tessedit_char_whitelist", "0123456789")
、すべてのシンボル tesseract に使用すると間違った数字が返されることです。

tesseract類似性の低いシンボルを除外する ようにしきい値を設定できますか?

注: tesseractO と 0 を混同しないように、数字のみを認識するように設定しました。

4

10 に答える 10

44

数値のみを認識することは、tesseract の FAQページで実際に回答されています。詳細についてはそのページを参照してください。ただし、バージョン 3 パッケージを使用している場合、構成ファイルは既にセットアップされています。コマンドラインで次のように指定するだけです。

tesseract image.tif outputbase nobatch digits

しきい値に関しては、あなたが何を意味するのかわかりません。入力が通常とは異なるフォントである場合は、入力のサンプルを使用して再トレーニングする可能性があります。別の方法は、tesseract のプルーニングしきい値を変更することです。どちらのオプションも FAQ に記載されています。

于 2011-09-21T06:17:03.983 に答える
15

tesseract 3 の場合、 FAQtesseract imagename outputbase digitsによると、コマンドはより単純です。しかし、それは私にはうまくいきません。

私はさまざまなオプションを試してみて、自分のケースに最適なpsm方法を見つけました。-psm 6

man tesseract詳細については。

于 2013-04-12T03:24:34.360 に答える
13

tesseract 3 の場合、FAQに従って構成ファイルを作成しようとしています。

Init 関数を呼び出す前に、またはこれを というテキスト ファイルに入れますtessdata/configs/digits

tessedit_char_whitelist 0123456789                 

次に、次のコマンドを使用して機能します。tesseract imagename outputbase digits

于 2014-07-18T08:44:48.073 に答える
3

add "--psm 7 -c tessedit_char_whitelist=0123456789'" は、画像に 1 行しか含まれていない場合に機能します。

于 2019-11-23T06:35:46.190 に答える
-2

私がしていることは、すべてを認識することです。テキストを取得したら、数字以外のすべての文字を取り出します。

//This replaces all except numbers from 0 to 9
recognizedText = recognizedText.replaceAll("[^0-9]+", " ");

これは私にとってはかなりうまくいきます。

于 2015-08-08T21:47:28.960 に答える