私は最近、検索可能なドキュメントをスキャンし、ドキュメント管理システムである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を制御することが重要です。
イメージファイルのいずれかでtesseract(Python以外)を単独で使用すると、時間がかかりますか?関連するメーリングリストでこの質問をする方がよいかもしれません。 –
私はいくつかの異なるページをテストしましたが、その差は一般的にわずか1秒です。ありがとうございました。 –