Quelle est la meilleure façon de détecter les coins d'une facture / d'un reçu / d'une feuille de papier sur une photo? Ceci doit être utilisé pour la correction de perspective ultérieure, avant l'OCR.
Mon approche actuelle a été:
RVB> Gris> Détection de Canny Edge avec seuillage> Dilater (1)> Supprimer les petits objets (6)> Effacer les objets de la frontière> choisir un grand blog basé sur la zone convexe. > [détection de coin - Non implémenté]
Je ne peux m'empêcher de penser qu'il doit y avoir une approche «intelligente» / statistique plus robuste pour gérer ce type de segmentation. Je n'ai pas beaucoup d'exemples de formation, mais je pourrais probablement rassembler 100 images.
Contexte plus large:
J'utilise matlab pour prototyper et je prévois d'implémenter le système dans OpenCV et Tesserect-OCR. C'est le premier d'un certain nombre de problèmes de traitement d'image que je dois résoudre pour cette application spécifique. Je cherche donc à lancer ma propre solution et à me re-familiariser avec les algorithmes de traitement d'image.
Voici un exemple d'image que j'aimerais que l'algorithme gère: Si vous souhaitez relever le défi, les grandes images sont à http://madteckhead.com/tmp
(source: madteckhead.com )
(source: madteckhead.com )
(source: madteckhead.com )
(source: madteckhead.com )
Dans le meilleur des cas, cela donne:
(source: madteckhead.com )
(source: madteckhead.com )
(source: madteckhead.com )
Cependant il échoue facilement sur d'autres cas:
(source: madteckhead.com )
(source: madteckhead.com )
(source: madteckhead.com )
Merci d'avance pour toutes les bonnes idées! J'aime tellement!
EDIT: Progrès de la transformation de Hough
Q: Quel algorithme regrouperait les lignes hough pour trouver des coins? En suivant les conseils des réponses, j'ai pu utiliser la transformation de Hough, choisir des lignes et les filtrer. Mon approche actuelle est plutôt grossière. J'ai fait l'hypothèse que la facture sera toujours à moins de 15 degrés hors d'alignement avec l'image. Je me retrouve avec des résultats raisonnables pour les lignes si tel est le cas (voir ci-dessous). Mais je ne suis pas tout à fait sûr d'un algorithme approprié pour regrouper les lignes (ou voter) à extrapoler pour les coins. Les lignes de Hough ne sont pas continues. Et dans les images bruyantes, il peut y avoir des lignes parallèles, donc une certaine forme ou une certaine distance par rapport aux métriques d'origine de la ligne sont nécessaires. Des idées?
(source: madteckhead.com )