web-dev-qa-db-ja.com

Tesseract以外にどのようなOCRオプションがありますか?

私はTesseractを少し使用しましたが、その結果にはまだ多くの要望があります。私は現在、非常に小さな画像を検出しています(35x15、境界線なしですが、ocrの利点がないimagemagickを使用して画像を追加しようとしました)。それらは2文字から5文字の範囲で、かなり信頼性の高いフォントですが、文字は十分に可変であるため、画像サイズのチェックサムなどを使用するだけでは機能しません。

Tesseractに固執するか、完全なカスタムトレーニングを行う以外に、OCRにはどのようなオプションがありますか?また、これがHerokuスタイルのホスティングと互換性がある場合(少なくともビンをコンパイルできる場合)、非常に役立ちます。それらを突き刺します)。

30
ylluminate

私は過去に小さな画像のOCRに [〜#〜] gocr [〜#〜] を使用して成功しました。かなり通常のフォントで、グレースケールオプションを適切に設定した後、精度は約85%だったと思います。フォントが複雑になり、複数行のレイアウトで問題が発生すると、惨めに失敗します。

また、Googleによって管理されている Ocropus もご覧ください。 Tesseractに関連していますが、私が理解していることから、そのOCRエンジンは異なります。デフォルトのモデルだけが含まれているため、高品質の画像で99%近くの精度を達成し、レイアウトを非常にうまく処理し、フォーマットと行に関する情報をHTML出力に提供します。しかし、私の経験では、画質が十分でない場合、その精度は非常に低くなります。そうは言っても、トレーニングは比較的簡単なので、試してみることをお勧めします。

どちらもコマンドラインから簡単に呼び出すことができます。 GOCRの使用法は非常に簡単です。 gocr -hと入力するだけで、必要なすべての情報が得られます。 Ocropusはもう少しトリッキーです。 Rubyでの使用例を次に示します。

require 'fileutils'
tmp = 'directory'
file = 'file.png'

`ocropus book2pages #{tmp}/out #{file}`
`ocropus pages2lines #{tmp}/out`
`ocropus lines2fsts #{tmp}/out`
`ocropus buildhtml #{tmp}/out > #{tmp}/output.html`

text = File.read("#{tmp}/output.html")
FileUtils.rm_rf(tmp)
19
user2398029

私のオフィスでは、VividataのOCR XTRLiteを使用しています。 ScanSoftエンジンを使用し、非常に正確ですが、無料のソリューションではありません。現在、bashからスクリプト化されており、1日あたり75,000〜150,000ページを処理しています。精度はほぼ完璧で、画像を自動回転してOCRの向きを決定します。

5
Brian Snipes