3

最近、検索可能なドキュメントをスキャンして、ドキュメント管理システムであるKnowledgeTreeにアップロードするためのインターフェイスをまとめました。このプロセスのさまざまな部分に対応する多数の個別のツールにアクセスできますが、ユーザーが物事をシンプルに保つために、すべてを1つのインターフェイスに統合したいと思いました。

プラットフォームは次のとおりです。

#    OS: Ubuntu Desktop 10.04
#    GUI Toolkit: wxPython
#    OCR package: Tesseract 3.00 (compiled executable)

そして、これが基本的なプロセスです:

#    1. Retrieve individual page images from scanner
#    2. Call Tesseract OCR executable to produce HOCR data for each page
#    3. Run extracted words against English dictionary to guess if page orientation is correct
#        3a. If word matches are below threshold, rotate page 90 degrees and try again
#    4. Detect document type and retrieve metadata from HOCR data
#    5. Merge scanned pages and HOCR data into a finished PDF
#    6. Upload PDF and attached metadata to document management system through KnowledgeTree's API

ステップ2が特定の種類のドキュメントで非常に遅いことを除いて、それは美しく機能します。基本的な固定幅のテキストレポートを順番に表示しますが、ロゴ、線、その他の判読できないコンテンツをいくつかスローし、1ページに数分かかる場合があります。向きを変えようとすると、それを最大4回繰り返す可能性があることは言うまでもありません。それに比べて、スキャナーに同梱されているソフトウェアはABBYY OCRを使用しており、ページレイアウトとテキストの向きをほぼ完全に処理して、1分以内に50ページ以上を処理できます(ABBYYに費用がかかるのはそのためです)。残念ながら、このスキャンソフトウェアの使用はユーザーにとってより複雑であり、それ自体で手順1〜3しかカバーしていません。

私の質問は、おそらくOCR /アップロードをスキャンインターフェイスから完全に分離することによって、これに別の方法でアプローチする必要があるかどうか、Pythonアプリケーションに統合できるOCRパッケージまたは他のソリューションを見落としているかどうかです。作業を行うために外部アプリケーションを呼び出しているという事実は、パフォーマンスの問題を引き起こしますか?

ここで何をするにしても、アップロードされた各ドキュメントのタイプとメタデータを手動で設定するようにユーザーに要求することは問題になる可能性があるため、ステップ4を制御できることが重要です。

4

1 に答える 1

1

あなたが抱えている問題は、TesseractがOCRエンジンであり、ページレイアウト分析ソフトウェアではないということです。tesseractのWebサイトには、バージョン3.0にはおそらくページレイアウト分析が含まれると書かれています。

以前のバージョンでは、テキストの列が1つしかない場合にのみ適切に応答することを知っています。

レイアウト分析を行い、画像、ロゴ、判読不能なテキストのブロックを見つけようとするステップ1.5を実行する必要があると思います。

OCRfeederを見て、彼の解決策を確認することをお勧めします。

于 2011-01-27T07:03:26.850 に答える