IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Trouver position carré dans une image


Sujet :

Traitement d'images

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut Trouver position carré dans une image
    Bonjour à tous,

    Je travaille actuellement sur des images de feuilles scannées sur lesquelles je dois trouver des repères (carré plein ).
    Ces repères me permettront de ré-orienter la feuille et de me positionner aux bonnes coordonnées pour en extraire des données.
    Comme hypothèse on suppose que la rotation de l'image n'est pas très élevée, sinon il y a vraiment un problème avec le scanner !
    Je recherche donc un algo assez rapide pour cette détection.

    Actuellement je pensais partir sur l'algo suivant:
    Dans la zone de recherche je parcours les colonnes jusqu'à trouver une série de pixels noir de longeur proche du coté du carré.
    Je cherche alors, vers les mêmes ordonnées, dans les colonnes voisines des série de pixel de même taille. Et après quelques autres vérifications (nombre de séries cote à cote ) et calculs pas trop compliqués je pense que je pourrai en déduire la position exacte du coin haut-gauche de mon repère.

    Voila juste une première idée mais je suis preneur si vous en avez d'autre !

    J'avais aussi essayé un algo de corrélation entre image. En gros on demande à l'algo de trouver la position d'un bitmap dans un autre. Je ne sais pas comment il marchait. Son avantage est de pouvoir détecter n'importe quel bitmap. Ses inconvénient est qu'il résiste mal aux rotations. Et en plus, mais c'est normal car il utilise des bitmap et non des formes, sa précision n'est pas très bonne. Ce qui pose problème car si la position des repères est imprécise je ne peux pas me positionner précisément dans l'image.

    Merci d'avance pour vos idées
    JB

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    comme toujours, le mieux serait de nous montrer une image ;-)

    Pour ma part, je commencerai par un simple seuillage binaire (en fonction de la couleur du carré), suivi d'un étiquetage des composantes connexes.
    La plus grande devant être ton carré.

    Pour ce qui est de la recherche d'un bitmap, je pense que le temps de calcul sera beaucoup plus long et pas forcément plus rapide.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Salut ToTo13 et merci pour ta réponse rapide
    Donc voila en pièce jointe la zone de recherche de l'image seuillée en noir et blanc.
    Dans cette image :
    le rectangle est mon repère.
    la barre de gauche est le bord de la feuille.
    le reste à été rajouté par l'individu qui a remplit la feuille. Un peu plus et il passait sur le repère.
    Dans d'autre images (d'un scanner moins performant) on pourrait avoir une rotation de quelques degrés.


    L'étiquetage me semble effectivement une bonne idée simple. Il me faudra juste auparavant supprimer les objets qui sont sur le bord de l'image.
    Je pense que je devrais également passer un filtre (à définir) pour supprimer les éventuels coups de crayon qui auraient atteind le repère.
    Je teste dès que possible et je vous tiens au courant.

    En attendant je suis toujours intéressé par d'autre idées.
    Merci encore
    JB
    Images attachées Images attachées  

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    pour supprimer ce qu'il y sur les bords, pas de souci, tu sais faire.

    Pour supprimer les coups de crayons éventuels, il suffit de faire une ouverture (morphologie mathématique).

Discussions similaires

  1. [Débutant] Trouver un cadre dans une image
    Par saloua2200 dans le forum Images
    Réponses: 9
    Dernier message: 31/05/2010, 14h41
  2. Détection position des yeux dans une image
    Par Morvan Mikael dans le forum Traitement d'images
    Réponses: 16
    Dernier message: 24/12/2008, 23h09
  3. Trouver des images dans une image
    Par FluidBlow dans le forum C++Builder
    Réponses: 5
    Dernier message: 13/04/2008, 23h26
  4. Trouver un pixel dans une image.
    Par Invité dans le forum C
    Réponses: 1
    Dernier message: 28/03/2008, 17h36
  5. Obtenir la position du curseur dans une Image
    Par bastoune dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/11/2003, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo