web-dev-qa-db-fra.com

Algorithme pour détecter la présence de texte sur l'image

Avec ma nouvelle mission je cherche une méthode pour détecter la présence de texte sur l'image. L'image est une carte - peut être par exemple google map. La tâche consiste à détecter où l'étiquette de rue/ville est placée.

Je sais que la bibliothèque opencv possède un algorithme qui peut détecter des caractéristiques (par exemple des visages humains) - classificateur haar ou porc (histogramme des gradients orientés), mais j'ai entendu dire que le processus d'apprentissage de ces algorithmes est assez difficile.

Connaissez-vous un algorithme, une méthode ou une bibliothèque qui pourrait le faire (détecter la présence de texte sur l'image)?

Merci, John

36
John

Il existe un problème de vision standard appelé détection de texte dans les images. il est assez différent de l'OCR. L'OCR se conforme à ce qu'il dit, tandis que la détection de texte consiste à déterminer s'il y a du texte dans l'image. Le troisième lien d'Adi Shavit est une méthode pour résoudre ce problème. Vous pouvez consulter les articles bien cités de Google Scholar sur détection de texte .

21
carlosdc

Il existe plusieurs approches possibles.

  1. Utilisez l'OCR. Une recherche d'OCR sur Stackoverflow affichera de nombreuses options. Il s'agit notamment de Tesseract et Ocropus .
  2. Si votre texte utilise une police fixe très spécifique, vous pouvez vous en tirer avec correspondance de modèle simple .
  3. Dans le cas plus général, vous voudrez peut-être jeter un œil à " Détection de texte dans les scènes naturelles avec une transformation de largeur de trait "

MISE À JOUR janvier 2017
Le module contrib OpenCV 3.2 a maintenant un module de détection de texte .
Il a également comprend un exemple de la façon de l'utiliser.

16
Adi Shavit