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 :

Canny + Hysteresis Thresholding


Sujet :

Traitement d'images

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 58
    Par défaut Canny + Hysteresis Thresholding
    Bonjour !!


    Je suis en train d'essayer d'implementer l'algorithme de Canny en C et pour m'aider je me suis inspiré de ce document

    http://www.cs.uiowa.edu/~cwyman/clas...work/canny.pdf

    et de celui-ci : http://www.pages.drexel.edu/~nk752/R...cannyTut2.html

    Je bloque sur l'étape "hysteresis thresholding", en effet, je ne vois pas comment déterminer les valeurs basses et hautes de mon seuillage. Pour info, je travaille sur image codée en 32 bits (somme de plusieurs dizaines d'image 8 bits).

    Je suppose qu'on les définit arbitrairement, mais meme arbitrairement je n'ai aucune idée des valeurs à prendre !

    Si on pouvait éclairer ma lanterne ... !

    Merci !
    Cordialement,
    Jérôme.

  2. #2
    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 : 53
    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
    Bonjour,

    un truc qui marche plutôt pas mal c'est d'étudier la distribution des valeur de la norme du gradient.

    - tu calcules l'histogramme des valeurs (non nulles) de la norme du gradient
    - le seuil bas = index pour lequel on a 20% du cumul
    - le seuil haut = index pour lequel on a 80% du cumul

    (les pourcentage 20/80 sont un exemple, mais ca marche plutôt bien)

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // calcul de l'histogramme
    int GMAX = 255; //valeur max possible du gradient
    int[] histo = new int[GMAX+1];
    int histosum=0;
    for (int y=0; y<height; y++) {
    	for (int x=0; x<width; x++) {
    		int g = gradient(image,x,y);
    		if (g>0) { histo[g]++; histosum++; }
    }	}
     
    // recherche des seuils
    int cumul=0, lowThreshold=-1, highThreshold=-1;
    for(int i=0;i<=GMAX;i++) {
    	cumul += histo[i];
    	if (lowThreshold==-1  && cumul>(0.20*histosum)) lowThreshold=i;
    	if (highThreshold==-1 && cumul>(0.80*histosum)) highThreshold=i;
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 58
    Par défaut
    Merci !

    Je regarde ca et je vous tiens au courant !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/10/2014, 09h34
  2. Canny Seuillage par Hysteresis
    Par SMI66 dans le forum Traitement d'images
    Réponses: 11
    Dernier message: 22/06/2012, 02h28
  3. Seuillage par hysteresis
    Par Flo. dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 18/07/2006, 11h25
  4. [image] Problème de suppression des max locaux avec Canny
    Par Rafoo dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 06/11/2005, 01h22
  5. méthode de thresholding ou seuillage
    Par mateo.14 dans le forum MFC
    Réponses: 1
    Dernier message: 22/03/2005, 22h13

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