2011-01-21 13 views
3

私は最近、検索可能なドキュメントをスキャンし、ドキュメント管理システムであるKnowledgeTreeにアップロードするためのインターフェイスをまとめました。私たちは、このプロセスのさまざまな部分に別々のツールをたくさん用意していますが、すべてを1つのインターフェースに統合して、ユーザーにとって単純なものにしたいと考えていました。ここでPythonアプリケーションのTesseract OCRを使用した場合のパフォーマンスの問題

は、プラットフォームです:

# 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が文書の特定の種類の非常に遅いある以外、美しく動作します。基本的な固定幅のテキストレポートをロールバックしますが、そこにはロゴ、行、その他の判読不可能なコンテンツを投げることがあります。それを再調整しようとすると、それを4回まで繰り返すことができるという事実は言うまでもありません。これとは対照的に、スキャナに付属のソフトウェアはABBYY OCRを使用しており、ページレイアウトやテキストの向きをほぼ完全に処理して50分以上の時間を要します(ABBYYはコストがかかるのです)。残念ながら、このスキャンソフトウェアの使用は、ユーザーにとってより複雑であり、ステップ1〜3のみをカバーしています。

私の質問は、OCR /アップロードをスキャンインターフェイスから完全に分離して、これはOCRパッケージやPythonアプリケーションに組み込まれている可能性のある他のソリューション。私が仕事をするために外部アプリケーションを呼び出しているという事実がパフォーマンス上の問題を引き起こしますか?

私はここで何をしても、アップロードした各ドキュメントの種類とメタデータを手動で設定する必要があるため、手順4を制御することが重要です。

+1

イメージファイルのいずれかでtesseract(Python以外)を単独で使用すると、時間がかかりますか?関連するメーリングリストでこの質問をする方がよいかもしれません。 –

+0

私はいくつかの異なるページをテストしましたが、その差は一般的にわずか1秒です。ありがとうございました。 –

答えて

1

Tesseractは、ページレイアウト解析ソフトウェアではなく、OCRエンジンであるという問題があります。 tesseract websiteでは、バージョン3.0にはおそらくページレイアウト解析が含まれていると言われています。

以前のバージョンでは、1つのテキスト列がある場合にのみうまく反応します。

私はいくつかのレイアウト分析を行い、イメージ、ロゴ、読みにくいテキストのブロックを見つけようとするステップ1.5を行う必要があると思います。

解決策を確認するにはOCRfeederをご覧ください。

+0

私は実際に3.0のリリース候補を既に使用しています。これはデフォルトでページレイアウト解析を実行する必要があります。私は、configファイルから有効にするその他の情報を調べるために、ドキュメントをもう少し詳しく調べる必要があるかもしれません。しかし、応答とリファレンスをありがとう。それは間違いなく助けになるでしょう。 –