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

C Discussion :

Binarisation par la methode de OTSU


Sujet :

C

  1. #61
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 60
    Par défaut
    ah ok! donc en résumé avec matlab ou c tu obtiens la même chose (bien évidemment si tu utlises la meme formule pour calculer sigma dans les 2 cas) donc ceci signifie que le code C est tout a fait correct.

    Maintenant j'ai un doute quant à cette formule , en fait je me souviens j'avais trouvé un code sur ce forum justement qui utilisait la 2eme formule, mais la en refaisant des recherches sur google apparemment aucune des 2 n'est correcte

    http://www.google.fr/search?hl=fr&cl...chercher&meta=

    tu clique sur le premier résultat

    appremment c'est une multiplication et non une division :

    sigma(i)=power(myu(255)*omega(i)-myu(i),2)*(omega(i)*(1- omega(i)));

  2. #62
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 60
    Par défaut
    je dois y aller je te dis a demain matin! merci pour toute ton aide !bonne soirée

  3. #63
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 60
    Par défaut
    coucou!! J'ai corrigé le code C pour le calcule de myu et omega :

    for ( i = 0; i < 256; i ++ )
    prob[i] = (double)hist[i] / (_largeur * _hauteur);


    omega[0] = prob[0];
    myu[0] = 0.0;
    for (i = 1; i < 256; i++)
    {
    omega[i] = omega[i-1] + prob[i];
    myu[i] = myu[i-1] + (i+1) * prob[i];
    }

    quant au calcul de sigma : j'ai testé les 2 formules sur l' image 0 :
    avec :

    sigma(i)=power(myu(255)*omega(i)-myu(i),2)/(omega(i)*(1- omega(i)));
    j'obtiens l'image 1

    sigma(i)=power(myu(255)*omega(i)-myu(i),2)*(omega(i)*(1- omega(i))); j'obtiens l'image 2


    à priori d'après les sources que j'ai trouvé c'est la 2eme formule qui est correcte mais la au vu des résultats on ne peut pas dire que ce soit le cas
    Images attachées Images attachées    

  4. #64
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 60
    Par défaut
    c'est bon j'ai enfin ma réponse ;-)

    en cherchant sur le forum je me suis aperçue que la fonction GRAYTHRESH (matlab) réalisait la binarisation d'OTSU .

    Fort heureusement elle fait partie de la toolbox dont je dispose donc j'ai examiné cette fonction et pour le calcul de sigma il faut diviser par (omega(i)*(1- omega(i))), ca me rassure!!!!


    J'espère qu'avec toutes ces corrections je vais enfin pouvoir avancer !

    Merci de toute ton aide stephl ça m'a vraiment servi!

  5. #65
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par kayser33 Voir le message
    c'est bon j'ai enfin ma réponse ;-)

    en cherchant sur le forum je me suis aperçue que la fonction GRAYTHRESH (matlab) réalisait la binarisation d'OTSU .

    Fort heureusement elle fait partie de la toolbox dont je dispose donc j'ai examiné cette fonction et pour le calcul de sigma il faut diviser par (omega(i)*(1- omega(i))), ca me rassure!!!!


    J'espère qu'avec toutes ces corrections je vais enfin pouvoir avancer !

    Merci de toute ton aide stephl ça m'a vraiment servi!
    De rien! Au final, tu as trouvé toi-même la solution!
    N'hésite pas si tu rencontres des problèmes avec le code c

Discussions similaires

  1. Binarisation par la méthode de Otsu
    Par Lost in dans le forum Images
    Réponses: 9
    Dernier message: 28/02/2008, 19h35
  2. url ecrase par une methode get
    Par sam01 dans le forum Langage
    Réponses: 1
    Dernier message: 24/07/2006, 21h35
  3. Envoyer des données par la méthode POST
    Par sorry60 dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2006, 15h10
  4. Réponses: 4
    Dernier message: 26/05/2006, 17h17
  5. ecriture dans fichier par ma methode print
    Par makohsarah dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 17/05/2006, 19h26

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