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 de diamètre


Sujet :

Traitement d'images

  1. #1
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut Calcul de diamètre
    Re Salut!!

    Imaginez un anneau sur une image comment peut on calculer son diamètre de manière automatique ??

    Merci.
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    ben avoir le diametre en pixels, facile..

    en cm/mm, il te faut le facteur d'echelle absolu
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Bonsoir,

    Tu veux dire quoi par:
    en cm/mm, il te faut le facteur d'echelle absolu
    A+
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  4. #4
    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 : 51
    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 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Lost in Voir le message
    Imaginez un anneau sur une image comment peut on calculer son diamètre de manière automatique ??
    calculer son indice de forme ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

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

    si c'est vraiment un anneau, tu prends trois points éloignés (de préférence), tu calcules le centre de la boule passant par ces trois points, tu trouveras ainsi le rayon et donc le diamètre.
    Si PseudoCode a vu juste, attention que la notion de "Diamètre" fait souvent référence à la plus grande distance (Euclidienne) entre deux points de contours de la forme => Une recherche exhaustive s'impose.
    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 habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    J'ai déja calculé le diamètre en pixel en utilisant la morphologie mathématique et le squelette de l'anneau, maintenant je cherche autre chose qui me donne le diamètre en mm.(voir image en attachement)

    A bientôt
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  7. #7
    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,

    je ne suis pas certain que calculer le diamètre en utilisant des points du squelette soit la meilleure chose. Mais au moins c'est centré.

    En revanche, si tu veux convertir ton diamètre ne milimètre, il te faut l'échelle !!!
    Sinon comment savoir qu'elle distance représente un pixel.
    Si par miracle ton disque a été extrait d'une scène réelle, peut être pourrais tu prendre des amers dans ta scène pour obtenir la calibration de la caméra (ou appareil photo).
    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.

  8. #8
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Salut !!

    je ne suis pas certain que calculer le diamètre en utilisant des points du squelette soit la meilleure chose.
    Tu as entièrement raison je suis de ton avis mais je n'arrive pas à trouver autre chose

    As-tu quelque chose à me proposer?
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    questions :

    cherches-tu le diametre interieur ou exterieur ?

    Quant au diametre reel en mm, il te faut la focale et la distance de la camera..

    Une proposition pour le diametre en pixel :

    calculer le barycentre des pixels allumes, en stockant en meme temps les xmin, xmax, ymin, ymax. => diametre.

    Pas d'operations compliquees, pas d'"habillage" mathematique, et une realite physique immediate.,n
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Merci pour l'aide

    Je cherche le diamètre interieur que veux tu dire par "le barycentre" ?

    A++
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Code : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    xcentre = 0
    ycentre = 0
    n = 0
    xmin = nlines
    xmax = 0
    ymin = ncols
    ymax = 0
     
    pour i = 0 jusqu'a i < nlines
       pour j = 0 jusqu'a j < ncols
     
              si pixel[i][j] > (NOIR+tolerance)
     
                    xcentre = xcentre + j
                    ycentre = ycentre + i
                    n = n + 1
     
                    si i > ymax
                      ymax = i
                    fin si
                    si i < ymin
                      ymin = i
                    fin si
                    si j > xmax
                      xmax = j
                    fin si
                    si j < xmin
                      xmin = j
                    fin si
               fin si
       fin pour
    fin pour
     
    xcentre = xcentre/n
    ycentre = ycentre/n
    La tu as le centre des pixels "blancs" (valeur superieure a un certain seuil), en pixel (le barycentre), et tu as les bornes .

    Donc :

    tu fais la moyenne des bornes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m1 = ( (xmax - xmin) + (ymax - ymin) ) / 2
    Ca te donne une premiere valeur du diametre

    Ensuite tu fais la moyenne des 4 distances (centre, bornes) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    d1 = xmax - centrex
    d2 = centrex - xmin
    d3 = ymax - centrey
    d4 = centrey - y
     
    m2 = (d1 + d2 + d3 + d4)/4
    tu as une deuxieme estimation (le rayon).

    Et la tu peux encore faire une moyenne entre les 2, pour avoir plus de precision encore :


    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Lost in Voir le message
    Merci pour l'aide

    Je cherche le diamètre interieur que veux tu dire par "le barycentre" ?

    A++

    OK, ce que j'ai donne c'est pour le diametre exterieur.

    Pour le diametre interieur, c'est quasi plus simple....

    Une fois que tu as determine le "centre", tu refais une boucle en partant du centre, et en faisant directement une moyenne

    Code : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    M = 0
    n = 0
     
    /* On explore au dessus du centre, */
    pour i = ycentre jusqu'a i >= ymin
     
       /* On cherche premier point a gauche */
       pour j = xcentre jusqu'a j >= xmin
              si pixel[i][j] > (NOIR+tolerance)
                    M = M + ((xcentre - j)*(xcentre - j)) + ((ycentre - i)*(ycentre - i))
                    n = n + 1
                    Sortie de pour
             fin si
       fin pour
     
       /* On cherche premier point a droite */
       pour j = xcentre jusqu'a j <= xmax
              si pixel[i][j] > (NOIR+tolerance)
                    M = M + ((j-xcentre)*(j-xcentre)) + ((i - ycentre)*(i-ycentre))
                    n = n + 1
                    Sortie de pour
             fin si
       fin pour
    Fin pour
     
    /*** ICI meme chose popur aller de ycentre a ymax ****/
    /* Sans remettre a zero ni M ni n */
     
    /* Et enfin on trouve la moyenne du RAYON */
     
    M = racine(M/n)
    ca c'est la force brute.

    Tu peux aussi faire une routine exploratrice du style "growing region" (recursive), des que tu as trouve le point a gauche de la ligne du centre, pour explorer le bord du contour interieur.
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #13
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Merci beaucoup souviron34 c'est vraiment sympa de ta part de m'avoir aidé
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  14. #14
    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
    Bonsoir,

    une autre solution est de segmenter, prendre les points du cercle intérieur, puis d'utiliser la petite méthode que je t'ai présenté plus haut pour trouver le centre du cercle.
    Sinon il y a toujours l'éternelle transformé de Hough qui te donnera le centre du cercle intérieur et extérieur.

    Bonne continuation
    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.

  15. #15
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Merci à vous tous
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  16. #16
    Membre habitué Avatar de Lost in
    Inscrit en
    Janvier 2008
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 268
    Points : 126
    Points
    126
    Par défaut
    Salut !!

    J'ai vraiment besoin de ton aide souviron34

    L'algorithme que tu m'as donné m'a permis de calculer le diamètre mais je n'arrive toujours pas à le comprendre entièrement

    Je te prie de me donner un lien ou je puisse trouver une description de la méthode de recherche du barycentre.

    Merci d'avance
    Si vous acceptez vos possibilités présentes, vous progresserez certainement à l'avenir. en revanche si vous niez vos limites, vous ne vous en libérerez jamais.

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    qu'est-ce que tu ne comprends pas ?

    C'est pourtant simple...

    Le barycentre, c'est en mathématique le "centre de masse", c'est à dire bêtement le centre déterminé par la moyenne des coordonnées des points.

    Donc, dans ce que je t'ai présenté, je prends donc juste TOUS les pixels supérieurs à un seuil, et je somme leurs coordonnées dans la boucle, et ensuite je divise par le nombre de points utilisés, pour avoir la moyenne....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

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

Discussions similaires

  1. [Java] Calcul du diamètre géodésique
    Par ToTo13 dans le forum Contribuez
    Réponses: 6
    Dernier message: 14/02/2011, 14h06
  2. calcul diamètre maximale
    Par angel_tn dans le forum Images
    Réponses: 2
    Dernier message: 13/06/2010, 11h54
  3. calcul du diamètre de féret(min,max)
    Par billyjo dans le forum Images
    Réponses: 1
    Dernier message: 07/04/2009, 13h11
  4. Calculer le diamètre d'un disque
    Par Lost in dans le forum Images
    Réponses: 5
    Dernier message: 12/03/2008, 06h45
  5. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09

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