36

私の新しい課題では、画像上のテキストの存在を検出する方法を探しています。画像は地図です-たとえば、グーグルマップにすることができます。タスクは、通り/都市のラベルが配置されている場所を検出することです。

opencvライブラリには、特徴(たとえば、人間の顔)を検出できるアルゴリズム(haar分類子またはhog(方向付けられた勾配のヒストグラム))があることは知っていますが、そのようなアルゴリズムの学習プロセスは非常に難しいと聞きました。

それを実行できる(画像上のテキストの存在を検出する)アルゴリズム、メソッド、またはライブラリを知っていますか?

ありがとう、ジョン

4

3 に答える 3

21

視覚には、画像内のテキスト検出と呼ばれる標準的な問題があります。OCR とはかなり異なります。OCR はその内容に注意を払いますが、テキスト検出は画像にテキストがあるかどうかを判断することです。Adi Shavit の 3 番目のリンクは、この問題に対処する方法です。テキスト検出に関する Google Scholar のよく引用されている記事を見ることができます。

于 2011-01-05T22:12:53.223 に答える
16

あなたが取ることができるいくつかの可能なアプローチがあります。

  1. OCRを使用します。StackoverflowでOCRを検索すると、多くのオプションが表示されます。これらには、TesseractOcropusが含まれます。
  2. テキストが非常に特殊な固定フォントを使用している場合は、単純なテンプレートマッチングでうまくいく可能性があります。
  3. より一般的なケースでは、「ストローク幅変換を使用した自然なシーンでのテキストの検出」を参照してください

更新2017年1月
OpenCV3.2contribモジュールにテキスト検出モジュールが追加されました。
また、使用方法のサンプル(C ++Python)も含まれています。

于 2011-01-05T18:52:25.477 に答える
0

これを特定の種類の地図画像に合わせて調整する必要があります。そうしないと、問題が非常に難しくなります (記事へのリンクについては、以前の投稿を参照してください)。

OCR が最適であり、既存のライブラリを使用する必要があります。ただし、OCR は主に白い背景のテキストに対して行われます。問題を通常の OCR 問題に減らすには、マップの色空間で作業を試みる必要があります。マップ テキストは非常に特殊な色を持っている可能性が高く、これらのピクセルを見つけるにはこれで十分な場合があります。次に、接続された領域のサイズに基づいて、検出されたピクセルをフィルター処理できます。

文字通りテキスト ラベルの場所だけを見つけたい場合は、上記の方法を実行して、OCR の手順をスキップするだけです。ラベルが近すぎない場合は、単純なクラスタリング アルゴリズムを使用してそれぞれの位置を見つけることができます。

于 2013-09-21T08:05:10.423 に答える