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 :

algorithme "Transformée de Hough"


Sujet :

Traitement d'images

  1. #1
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut algorithme "Transformée de Hough"
    bonsoir a tous! Voila j'ai fais quelques recherches sur le forum et sur le net sur l'implémentation de la transformée de Hough pour la détection de droite, mais rien qui pourrait m'aider . J'utilise builder c++!!!
    Je ne sais pas est ce qu'il y'a plusieurs façon d'implémenter la TH ?? (accumulateur...)
    Si quelqu'un pourrait m'aider ça serait sympa car j'en ai besoin pour avancer dans mon projet!!
    Je vous remercie

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    Et si tu cherchais transformée de Hough dans Wikipedia ?

    Jean-Marc Blanc

  3. #3
    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 : 46
    Localisation : Etats-Unis

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

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

    en faisant une recherche dans le forum en tapant Hough, on trouve ce lien :
    - http://www.developpez.net/forums/sho...d.php?t=352300

    Il y a deux méthodes expliquées...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    Merci pour les réponses!! et désolé pour le retard!!
    J'ai jeté un coup d'œil sur ça mais je crois que ça ne peut pas m'aider
    Si il y a quelqu'un qui a le code source ça serait gentil de me le passer!!!
    Merci a vous

  5. #5
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonsoir,

    Hough est une technique facile à programmer, surtout qu'il y a de très nombreux tutoriels sur le sujet.
    Toutefois, il semblerait que tu puisses trouver ton bonheur parmi ces deux recherches :
    - 1 - Pour ImageJ
    - 2 - Google Lab code source
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    merci toto!!je vais voir tout cela!!! a+

  7. #7
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    j'ai essayé de comprendre mais pas moyen!!!
    C'est aussi difficile que ça ou sinon je suis nul????

  8. #8
    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 : 46
    Localisation : Etats-Unis

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

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

    non, ce n'est pas quelque chose de difficile, mais je pense que tu dois avoir un problème de représentation de ce qui se passe.
    Dis nous où tu bloques, nous détaillerons pas à pas afin que tout soit limpide
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  9. #9
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    salut!!! je ne comprends pas le principe de l'accumulateur!!!!
    merci

  10. #10
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonsoir,

    en tirant des couples (A,B) de points au hasard (disons N couples), on obtient N couples (R,théta) représentant les droites passant A et B.
    Mais chacun de ces couple ne fait pas forcément parti de la solution du problème : par exemple A appartient à une droite et B à une autre => (R,théta) ne fait pas parti de la solution.
    Le ou les couple(s) qui apparaissent le plus souvent font parti de la solution => D'où l'intérêt de l'accumulateur.
    En général on fait un seuillage plus ou moins arbitraire sur l'accumulateur pour trouver les solutions.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  11. #11
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    Merci toto!!! (désolé pour le dérangement)
    j'ai lu ton algo. Mais au début je dois déclarer l'accumulateur qui est un tableau a 2 dimensions. Ses éléments sont des structures:
    cellule {vote, x1, y1,x2, y2}
    où (x1, y1) et (x2, y2) sont les coordonnées des points extrêmes des segments.
    vote est la variable à incrémenter lorsque la cellule est intéressée par le résultat de l'équation p=x.cos(thêta)+y.sin(thêta).
    je ne sais pas si c'est ça?????

  12. #12
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    @ToTo13: pourquoi choisir des couples de points ? Dans l'algo de Hough que je connais on prend un par un les pixels et on augmente les accumulateurs (rho,theta) des droites candidates.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  13. #13
    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 : 46
    Localisation : Etats-Unis

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

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

    Citation Envoyé par pseudocode Voir le message
    @ToTo13: pourquoi choisir des couples de points ? Dans l'algo de Hough que je connais on prend un par un les pixels et on augmente les accumulateurs (rho,theta) des droites candidates.
    dans celui que je connais, on prend des couples de points afin de n'avoir qu'une seule droite candidate.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  14. #14
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    @ToTo13: pourquoi choisir des couples de points ? Dans l'algo de Hough que je connais on prend un par un les pixels et on augmente les accumulateurs (rho,theta) des droites candidates.
    Donc quand le tableau est rempli,je prends le max???
    et comment retracer la droite????

  15. #15
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour

    Citation Envoyé par comrad85 Voir le message
    Donc quand le tableau est rempli,je prends le max???
    Si tu ne prends QUE le MAX, tu n'auras qu'une seule et unique droite solution ce qui n'est pas forcément ton cas
    C'est là qu'il faut être un peu fin :
    - tu vas devoir chercher des amas de points dans l'espace solution (l'accumulateur). Si tu prends un seuillage, tu risques d'avoir plusieurs droites solutions pour une même droite.
    - chaque amas représente une droite.
    - pourquoi on a des amas et pas un point où l'accumulateur est élevé => on travaille dans un espace discret et on a des erreurs. Une même droite peut être caractérisée par plusieurs couples (R,Théta).
    - pour détecter les amas, tu peux procéder en faisant un quadrillage de ton espace solution en faisant attention qu'un amas n'appartienne pas deux carrés.
    - une autre solution est de faire une ouverture sur l'espace solution, ainsi il ne restera que les amas représentant une droite.
    - une fois que tu as des amas, tu les repères (numéroter les composantes connexes) et tu fais une moyenne pondérée pour chacun de amas afin garder que la droite qui représente le mieux l'amas.



    Citation Envoyé par comrad85 Voir le message
    et comment retracer la droite????
    De la façon inverse dont tu as calculé ton (R,Théta).
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  16. #16
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    Salut!!!

    De la façon inverse dont tu as calculé ton (R,Théta).
    Mais comment savoir les extrémités de ma droite??? il faut enregistrer les points où????
    merci

  17. #17
    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 : 46
    Localisation : Etats-Unis

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

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

    Citation Envoyé par comrad85 Voir le message
    Mais comment savoir les extrémités de ma droite???
    Par définition, une droite n'a pas d'extrémités, sinon c'est un segment ou une demi-droite.

    Citation Envoyé par comrad85 Voir le message
    il faut enregistrer les points où????
    Donc tu calcules les coefficients de ta droite y=ax+b et tu la traces en calculant son intersection avec les bords de ta fênetre par exemple.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  18. #18
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    Salut a tous!!! J'ai trouvé un algorithme de TH dans une thèse. Mais le code est un peut compliqué, je crois même qu'il comporte quelques erreurs. Ils ont utilisé un tableau pour l'accumulateur de 2 dimensions, chaque cellule est une structure (int vote, int x1, int y1, int x2, int y2). J'aimerai bien écrire le code ici mais il est un peut long.
    Comme ça je vous direz les choses que je ne comprends pas et peut être que vous pourrez m'aider.
    Merci

  19. #19
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  20. #20
    Membre confirmé Avatar de comrad85
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 188
    Par défaut
    Merci pour le code!!!!
    J'aimerai juste que tu m'expliques (si c'est possible) quelques lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    this.maxIndexTheta=(int)(2*Math.PI/Math.atan2(1, width))/scale; ????????
    this.maxIndexRho=(int)maxRho/scale; ??????????????
    double theta = (2*Math.PI*indexTheta)/maxIndexTheta; ???????
    int indexRho   = (int) (0.5 + rho/maxRho * maxIndexRho  ); ?????
    j'ai pas bien compris les formules.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 5 12345 DernièreDernière

Discussions similaires

  1. Detection d'ellipse par la transformée de Hough
    Par oussama127 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 03/05/2006, 08h47
  2. [MySQL] transformer une simple quote en double pour un insert !!
    Par st0nky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/01/2006, 16h38

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