96

最近、TesseractOpenCVに出会いました。Tesseract は本格的な OCR エンジンであり、OpenCV をフレームワークとして使用して OCR アプリケーション/サービスを作成できるようです。

一部の画像で Tesseract を使用してみましたが、その精度はまともなようです。その後、OpenCV を使用して Python を使用して OCR を実行するという非常に簡単なチュートリアルに出会い、感銘を受けました。数分でシステムのトレーニングを終了し、精度は良好でした。しかしもちろん、このアプローチを採用するということは、大規模なトレーニング セットを使用してシステムを広範囲にトレーニングする必要があることを意味します。

私の具体的な質問は次のとおりです。

  • カスタム OCR アプリを構築するために、Tesseract と OpenCV のどちらを使用するかをどのように選択しますか?
  • さまざまな言語の Tesseract で使用できるトレーニング データセットがあります。OCRを実現するためにゼロから始める必要がないように、OpenCVには似たようなものがありますか?
  • 商用アプリケーションになりたい場合は、どちらが優れていますか?

助言がありますか?

4

4 に答える 4

81
  • Tesseract は OCR エンジンです。特に画像からテキストを読み取り、基本的なドキュメント セグメンテーションを実行し、特定の画像入力 (単一の単語、行、段落、ページ、限定された辞書など) を操作するために、Google によって使用、開発、資金提供されています。

  • 一方、OpenCV は、特徴抽出とデータ分類を実行できる機能を含むコンピューター ビジョン ライブラリです。基本的な OCR を実行する単純な文字セグメンターと分類器を作成できますが、これはあまり優れた OCR エンジンではありません (以前に Python でゼロから作成したことがあります。トレーニング データから逸脱した入力に対しては、実際には不正確です)。

OCR の難しさの基本を理解したい場合は、OpenCV を試してみてください。Tesseract は実際のOCR 用です。

于 2012-07-15T06:12:48.053 に答える
66

私はあなたが言及した数字認識チュートリアルの著者であり、それはtesseractの代わりにはなりません。

Tesseract は本当に優れた OCR エンジンであり、オープンソースの OCR エンジンとしては最高のものかもしれません。

あなたが言及したチュートリアルは、OCRの最も単純な作業を理解するための単なる試みです。

したがって、OCR アプリを探している場合は、画像の前処理に OpenCV を使用してから、tesseract エンジンを適用することをお勧めします。

于 2012-07-15T06:21:17.323 に答える
10

この 2 つを補完することができます。OpenCV に関する論文を読んだ場合: https://github.com/tesseract-ocr/docs/blob/master/tesseracticdar2007.pdf

「HP は独自に開発したページ レイアウト分析技術を製品で使用していたため (したがって、オープン ソース用にリリースされていませんでした)、Tesseract は独自のページ レイアウト分析を必要としませんでした。したがって、Tesseract は、その入力がバイナリ イメージであると想定しています。オプションの多角形テキスト領域が定義されました。"

このタイプのタスクは OpenCV で実行でき、結果のイメージは Tesseract に渡されます。このタイプのコードのサンプルは、Git リポジトリにあります: https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples サンプルでは、​​Tesseract API を使用して画像からテキストへの変換を行います。

于 2014-11-13T01:50:15.160 に答える