私の新しい割り当てでは、画像上のテキストの存在を検出する方法を探しています。画像は地図です-たとえば、Googleマップにすることができます。タスクは、通り/都市のラベルが配置されている場所を検出することです。
Opencvライブラリには、特徴(人間の顔など)を検出できるアルゴリズムがあります-haar分類器または豚(指向性勾配のヒストグラム)ですが、そのようなアルゴリズムの学習プロセスは非常に難しいと聞きました。
あなたはそれを行うことができるアルゴリズム、メソッドまたはライブラリを知っていますか(画像上のテキストの存在を検出します)?
ありがとう、ジョン
画像のテキスト検出と呼ばれるビジョンには標準的な問題があります。 OCRとはまったく異なります。 OCRはそれが言うことを懸念しますが、テキスト検出は画像にテキストがあるかどうかを判断することに関するものです。 Adi Shavitの3番目のリンクは、この問題に対処する方法です。 text detection で、Google奨学生のよく引用されている記事を見ることができます。
あなたが取ることができるいくつかの可能なアプローチがあります。
2017年1月更新
OpenCV 3.2 contribモジュールに テキスト検出モジュール が追加されました。
それも サンプルを含む 使用方法の。
特定のタイプのマップ画像に合わせてこれを調整する必要があります。そうしないと、問題が非常に難しくなります(記事へのリンクについては、以前の投稿を参照してください)。
OCRを使用する方法であり、既存のライブラリを使用する必要があります。ただし、OCRは主に白い背景のテキストに対して行われます。問題を通常のOCR問題に減らすには、マップの色空間で作業を試みる必要があります。おそらく、マップテキストには非常に特定の色があり、これらのピクセルを見つけるにはこれで十分かもしれません。その後、接続された領域のサイズに基づいて、検出されたピクセルをフィルタリングできます。
文字通りテキストラベルの場所のみを検索する場合は、上記を実行できますが、OCRステップはほとんどスキップします。ラベルが近すぎない場合、単純なクラスタリングアルゴリズムを使用して、それぞれの位置を見つけることができます。