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

Algorithmes et structures de données Discussion :

Seuillage par hysteresis


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut Seuillage par hysteresis
    Bonjour,

    le seuillage par hysteresis (image I; seuil bas S1; seuil haut S2) peut-il être considéré comme l'intersection du dilaté d'un seuillage de I par S2 avec un seuillage de I par S1 ?

    Hystérésis(I; S1; S2) ?= dilatation(seuillage(I; S2)) & seuillage(I; S1)

    Ou alors la zone "floue" retenue devient-elle zone "sure" pouvant permettre à son tour de retenir des pixels en zone "floue" ?

    Merci.

    A+

    Flo.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 160
    Points
    160
    Par défaut
    ce n'est pas la meme chose.
    Lors d'un seuillage par hysteresis, tous les pixels entre S1 et S2 qui sont sur un chemin reliant 2 points de valeur supérieure à S2 sont retenus.

    ça ne dépend bien sur pas du sens de lecture de l'image en prenant cette définition.

  3. #3
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Salut, merci pour ta réponse.

    Cependant, je ne comprends pas ton explication :

    Lors d'un seuillage par hysteresis, tous les pixels entre S1 et S2 qui sont sur un chemin reliant 2 points de valeur supérieure à S2 sont retenus.
    En gros tu me dis, que si j'ai 2 pixels de mon image dont les niveaux de gris sont supérieurs à S2 et si il existe un chemin les reliant ne passant que par des pixels dont les niveaux de gris sont entre S1 et S2, alors tous les pixels de ce chemin sont retenus. (Sous-entendu qu'il peut exister plusieurs chemins valides sur une "infinité" à tester).

    J'hésite sur la définition du seuillage par hystérésis mais je doute vraiment de ton explication. Alors donc je crois que j'ai pas bien compris .

    Peut-être, pourrais-tu être plus précis ?

    Actuellement j'hésite entre :

    - soit l'intersection du dilaté du seuillage(I; S2) par le seuillage (I; S1)
    - soit un mix entre seuillage et algo de croissance (les pixels "flous" retenus devant pixels "surs" permettant ainsi de relancer l'extension de la zone sure.)

    Ou alors ni l'un ni l'autre ne sont exactes ?

    Merci.

    Flo.

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Le seuillage par hystérésis est un seuillage non linéaire à état.
    On appelle hystérésis la différence entre le seuil haut et le seuil bas.

    Quand on commence en étant en bas, on change d'état quand on franchi le seuil haut. Puis on repasse à l'état bas en franchissant le seuil bas.
    Quand on trace la fonction de transfert, on tombe sur le symbole grec de l'hystérésis.

  5. #5
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Merci Miles .

    Tout ça ne me renseigne pas vraiment ?

    Les 2 définitions que j'ai proposées sont toutes 2 des seuillages non linéaire à états.

    Quelqu'un pourrait-il décrire vraiment et en profondeur le principe de ce seuillage ? Tout ce que je trouve dessus ne parvient pas à me décider. Ca reste aussi vague que la réponse de Miles.

    Flo.

  6. #6
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Pour etre plus précis sur ma question :

    Est-ce que les pixels en zone "floue" ayant été retenus deviennent des pixels de zone "sure" ?

    La question est importante puisque ce sont les pixels de la zone "sure" qui pevent connecter des pixels en zone "floue".

    Si la réponse est non, alors il me semble que le seuillage par hystérésis peut se ramener à une intersection du dilaté, etc, etc ... (voire mes post plus haut).

    Si la réponse est oui, alors il peut se ramener à un mix seuillage / algo de croissance (voire mes post plus haut également).

    Dans les 2 cas de réponses, ça peut-être tout a fait différent de ce que j'ai dit malgré tout.

    Voilà.

    Après, les histoires de seuillages non linéaires à états, tout ça, je sais très bien ... à croire d'ailleurs que toute l'info qu'on puisse trouver (web + bouquins) se ramène à cette définition, ce qui entre nous, est très libre d'interprétations . Après tout c'est peut-être quelque chose d'effectivement libre d'interprétations : le seuillage par hystérésis serait-il donc la famille des seuillages non linéaires à états 8) ?

    A+

    Flo.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 160
    Points
    160
    Par défaut
    La définition que je t'ai donné est assez claire je pense, je vais essayer d'expliquer mieux...

    Soit I1 l'image seuillée par S1
    Soit I2 l'image seuillée par S2

    les points retenus dans le seuillage par hystérésis sont *tous* ceux qui sont sur des chemins dans I1 reliants deux points de I2

    par exemble, si tu as les seuils 1 et 3,

    322222223 va donner 3333333333.

    comme tu le dis, il peut bien y avoir plusieurs chemins valides, la définition ne donne pas directement l'algorithme.

    Une méthode possible est de prendre l'ensemble des composantes connexes des points de valeur > S2, dans l'image I1.

    pour l'algo de calcul de composante connexe il en existe beaucoup...
    Dans mon cas je l'utilisais pour des calculs de contours, les composantes connexes étaient donc assez fines, donc une bete fonction récursive pour les calculer ne faisait pas exploser la pile.

  8. #8
    Membre averti Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Points : 404
    Points
    404
    Par défaut
    Un grand merci Tellmarch,

    donc c'est bien ce que je pensais, les pixels de la zone "floue" retenus deviennent pixels de la zone "sure" ... dans le sens ou ils permettent de connecter de nouveaux pixels de la zone "floue".

    Donc ça ressemble à un algo de croissance ou les "seeds" (les graines) sont les pixels à niveaux de gris supérieurs à S2 (seuil haut), le critère d'extension de ces "seeds" aux pixels voisins étant le niveau de gris qui doit être supérieur à S1 (seuil bas).

    Je préfère cet algorithme (si il est correct, corrige-moi sinon) au tien .

    Et effectivement comme tu le dis, la définition ne donne pas directement l'algorithme.

    Merci

    A+

    Flo.

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Attention, selon que tu passes dans un sens ou dans un autre, tu auras des résultats différents ! Si tu parcours de haut en bas puis tu réessaies de droite à gauche, tes résultats peuvent être à l'opposé.
    Le problème du seuillage par hystérésis est qu'il fonctionne bien sur un système à une dimension "qui avance tout le temps". Il te faut donc un seul et unique parcours sur ton image, sans quoi les éléments qui sont dans la zone d'hytérésis ne seront jamais dans la même classe.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par Miles
    Attention, selon que tu passes dans un sens ou dans un autre, tu auras des résultats différents ! Si tu parcours de haut en bas puis tu réessaies de droite à gauche, tes résultats peuvent être à l'opposé.
    c'est faux, le seuillage ne dépend pas du parcours...
    apres peut etre que dans l'algo que toi tu as en tete pour effectuer le seuillage, il faut faire le parcours dans un certain sens.

    Mais pour l'algo que j'ai donné ou celui qu'a proposé Flo, il n'y a pas de probleme de sens de parcours.

  11. #11
    Membre habitué Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Points : 193
    Points
    193
    Par défaut Implémentation efficace du seuillage par hysteresis
    Le post est vieux, mais je suis d'avis d'eviter les multi-posts traitant d'un meme sujet... quoiqu'ici c'est limite.

    Bref, je dois faire un seuillage par hysteresis de mon image. Je rappelle donc ce que c'est pour tout le monde:

    Un seuil haut, un seuil bas. On garde toutes les chaines de pixels supérieurs au seuil bas si elles contiennent au minimum un pixel superieur au seuil haut. Voila, maintenant que cela est claire, le sujet de mon post traite plus particullierement de la maniere la plus effciace de l 'implementer (accessoirement en C/C++ bien que ca ne joue pas enomement d'ou ce forum).
    Avant de poser une question, lire la Avant de répondre, lire la question

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

Discussions similaires

  1. Seuillage par Isodata
    Par Ange_blond dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 15/05/2015, 19h29
  2. Canny Seuillage par Hysteresis
    Par SMI66 dans le forum Traitement d'images
    Réponses: 11
    Dernier message: 22/06/2012, 01h28
  3. Alternatives au seuillage par hysteresis
    Par neF4ST dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 17/11/2011, 11h00
  4. Double seuillage (seuillage par hystérésis)
    Par Philooo dans le forum OpenCV
    Réponses: 7
    Dernier message: 25/08/2008, 21h02
  5. Seuillage par entropie.
    Par parp1 dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 12/05/2006, 21h57

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