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 :

c++ valeur la plus grande parmis les valeurs dun tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut c++ valeur la plus grande parmis les valeurs dun tableau
    Salut!

    Mon but est de savoir la valeur du pixel de niveau de gris, qui apparait le plus souvent dans une image de niveau de gris a 256*256
    Par exemple, si il a 335 pixels de couleurs grise on va dire a l'indice 244, je veut que ce chiffre 335 s'affiche!!

    Jai donc le code suivant, mais je ne suis pas sur que cela soit correct!!!


    Edit: je confirme cela n'a pas marcher car j'ai des valeurs:

    greyscale value: 126 925
    greyscale value: 127 1326
    greyscale value: 128 1647
    greyscale value: 129 2056
    greyscale value: 130 2301
    greyscale value: 131 2696
    greyscale value: 132 2395
    greyscale value: 133 1920
    greyscale value: 134 1789
    greyscale value: 135 2082

    Je devrait voir s'afficher 2696 la... ainsi que 131 (l'indice i du tableau qui contient cette valeur maximale)


    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
     
    	for (a=0; a<256; a++){
     
    			for (b=0;b<256; b++){
     
    							 int color;
    							color=image[a][b];
    							while(color>morefrequentgreyscale)
    								morefrequentgreyscale=color;
     
     
     
    								}
    							 } 
    		cout << " the more frequent Greyscale is: \t" << morefrequentgreyscale << "\n"; 
     
    	  binarystreamimage.close();
    merci!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut Table de pixel
    Essayes un truc comme ça ...
    On est d'accord que tu veux le nombre de pixel seulement.

    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
     
    int freq[256]; // je suppose que valeur de couleur est codé de 0 à 255
    int color=0;
    int morefrequentgreyscale=0
     
    memset( freq, 0, 256 );
     
    for (int a=0; a<256; a++){
       for (int b=0;b<256; b++){
            color=image[a][b];
            freq[color]++;
            if( freq[color] > morefrequentgreyscale )
              morefrequentgreyscale = freq[color];
       }
    }
     
    cout << " the more frequent Greyscale is: \t" << morefrequentgreyscale << "\n";

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    Salut!!
    merci de ton aide!
    Jai donc copie ton code mais il me dit:

    the more frequent greyscale is: 6

    Cependant cela devrait etre dans les 2100 ou quelque chose comme ca,,,

    tiens je viens de decouvrir comment attacher des fichiers...
    Fichiers attachés Fichiers attachés

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    J'ai du faire des simulations, notamment creer un faux tableau image en remplacement de 'image.cpp'.
    Je confirme ça marche
    Peut ètre faudrait-il voir du coté de la lecture de l'image, est-tu certain de remplir correctement ce tableau ?

    J'ai aussi revu mon 'memset( freq, 0, 256 );'
    j'ai un doute sur le type *int, alors je le remplace par une boucle, c'est pas beau mais sûr.

    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    Citation Envoyé par NewDid
    J'ai du faire des simulations, notamment creer un faux tableau image en remplacement de 'image.cpp'.
    Je confirme ça marche
    Peut ètre faudrait-il voir du coté de la lecture de l'image, est-tu certain de remplir correctement ce tableau ?
    A+
    Merci de ton engagement!
    Ben cela oui, normalement....
    Dans la mesure ou jai reussi a faire afficher le nombre de chaque valeurs de gris avec leur nombre dapparences...
    Enfin jecrit le resultat cest plus simple a comprendre:

    greyscale value: 0 0
    greyscale value: 1 0
    greyscale value: 2 0
    greyscale value: 3 0
    greyscale value: 4 18
    greyscale value: 5 72

    ...jusqu'a

    greyscale value: 250 16
    greyscale value: 251 16
    greyscale value: 252 30
    greyscale value: 253 36
    greyscale value: 254 57
    greyscale value: 255 1515



    Donc cela devrait fonctionner?!

    Or il me dit des valeurs genre 912, mais la on voit que 1515 cest le plus haut... et cest pas le plus haut, je crois que cetait 2000 quelquechose...


  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Question naïve : Est-ce que tu n'est pas par hasard perdu a cause de l'indentation de ton source (calcHisto.cpp) ?

    Je crois qu'il existe quelque part sur 'Developpez.com' un trés bon document sur l'art et la manière de faire un source propre et compréhensible pour nos collègues.

    En faisant un nettoyage propre je m'aperçois que tu lis deux fichiers differents (lena et claire). Est-ce que la difference ne serait pas là ? De plus tu ne fais pas le même calcul sur les deux fichiers. brr

Discussions similaires

  1. Déterminer la Valeur la plus grande dans une table
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 9
    Dernier message: 22/08/2014, 23h35
  2. comment ajouter un champs plus et donner les valeurs sous PDI
    Par helene0618 dans le forum kettle/PDI
    Réponses: 3
    Dernier message: 04/03/2009, 17h16
  3. [XPATH]Valeur la plus grande
    Par totoen dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/01/2008, 10h13
  4. Valeur du bouton choisi parmi les 3
    Par medmans dans le forum Web
    Réponses: 1
    Dernier message: 21/10/2007, 21h53
  5. Réponses: 4
    Dernier message: 29/05/2006, 13h04

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