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 :

Calcul du squelette d'une image en c++


Sujet :

Traitement d'images

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Calcul du squelette d'une image en c++
    j'ai besoin de l' implémentation du calcul du squelette d'une image en c++
    l'image pour moi c'est un tableaux de pixel de 2 dimenssion
    quelqun peut m'aider mérci

  2. #2
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Tu es ici dans la section algorithmes, mais tu peux t'inspirer du code publié dans la rubrique "contribuez" :
    http://www.developpez.net/forums/sho...d.php?t=344035

  3. #3
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Salut j'avais ouvert une discussion il y a un moment il y a une source. Je ne sais pas si c'est cu C/c++ ou java.

    C'est ici a la deuxieme page.

  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,

    le sujet a déjà été traité plusieurs fois et j'ai répondu. Fais une recherche.

    Sinon une des façon les plus simple pour avoir un squelette c'est de faire un amincissement homotopique.
    En gros tu déplaces un masque sur ton image et si le pixel testé répond au critères imposés par le masque il est supprimé.
    C'est un squelette simple, qui donne des résultats correctes avec une grande sensibilité aux bruits.

    Si tu veux un squelette plus complexe et stable, je te conseille très fortement de lire la thèse de Lohou (j'ai oublié le prénom, Cristophe me semble t-il).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Points : 307
    Points
    307
    Par défaut
    En plus des approches topologiques, il y a aussi des approches morphologiques, qui sont plutôt plus stable (au sens où elles produisent moins de petites branches). En revanche, je crois me souvenir que la topologie ne peut être préservée par ces approches que sur une grille hexagonale.

    On peut aussi citer les approches par carte de distance, bien détaillées dans la thèse de Olivier Cuisenaire.

    Tout dépend ensuite de l'application souhaitée.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Merci a vous tous, j'ai testé les programmes du squelette déjà proposé dans le forum, et j'ai trouvé des bons résultats
    J’ai appliqué ca sur les images caractères, maintenant je cherche à détecter les segments dans le caractère, premièrement en cherchant les points d'intérêts dans le squelette. Mais j'ai trouvé quelques difficultés de choisir le bon algorithme pour la détection des segments, prière de m'aider merci

  7. #7
    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
    Points : 16 084
    Points
    16 084
    Par défaut
    il faut detecter les "croisements", les "inflexions" et les "extremités" des lignes du squelette.

    Pour cela, on peut analyser les 8 voisins de chaque pixel du squelette et compter le nombre de transitions 0->1 (voir la fonction transitions() dans ma contrib)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -------
    |a|b|c|
    -------
    |h|X|d|  voisins de X (sens horaire): a,b,x,d,e,f,g,h
    ------- 
    |g|f|e| 
    -------
    - si le nombre de transitions est 1, alors on est a une extremité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -------
    |0|1|0|
    -------
    |0|X|0|  voisins (sens horaire): 0,1,0,0,0,0,0,0
    -------                            ^
    |0|0|0|  1 transition
    -------

    - si le nombre de transitions est >=3, alors on est a un croisement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -------
    |0|1|0|
    -------
    |0|X|1|  voisins (sens horaire): 0,1,0,1,0,0,1,0
    -------                            ^   ^     ^
    |1|0|0|  3 transitions
    -------
    - si le nombre de transitions est 2, alors on est au milieu d'une continuité. il faut alors regarder la position des pixels de transition pour connaitre l'angle d'inflexion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -------
    |1|0|0|
    -------
    |0|X|0|  voisins (sens horaire): 1,0,0,0,0,1,0,0
    -------                          ^         ^
    |0|1|0|  2 transitions
    -------

  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 : 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,

    détection de segments => Transformée de HOUGH !!!!

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Points : 307
    Points
    307
    Par défaut
    Citation Envoyé par ToTo13
    détection de segments => Transformée de HOUGH !!!!
    Pas forcément : une image de caractère n'est pas constituée que de segments de droites. Il peut être plus simple de détecter les jonctions comme proposé ci-dessus (voir aussi l'article de Malandain et Ayache "Topological segmentation of surfaces"), puis d'étudier chaque segment, par exemple en le modelant par une spline.

Discussions similaires

  1. Calculer l'entropie d'une image
    Par ArthurC dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 03/05/2009, 20h53
  2. calcul de CRC pour une image png
    Par floopi51 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 15/01/2009, 09h35
  3. calcul de CRC pour une image png
    Par floopi51 dans le forum Débuter
    Réponses: 7
    Dernier message: 15/01/2009, 09h32
  4. Calculer la taille d'une image
    Par bigourson dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/09/2005, 12h22

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