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 :

l'histogramme d'une image RGB


Sujet :

C

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut l'histogramme d'une image RGB
    Bonjour j'ai un problème . Je voudrais savoir comment faire un programme qui donne une image rgb et il retourne 3 fichiers un pour le bleu, un pour le rouge et un pour le vert des valeurs en pixel.



    j'ai déja commencé l'initialisation de l'histogramme d'une image


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     int histo[256];
    for(i=0;i<256;i++)
    {
    hist[i]=0;
    }
    for(i=0;i<256;i++)
    {for(j=0;j<256;j++)
    {hist[image[i][j]]++;
    mais je ne sais pas comment j'écris trois fichiers textes pour parcourir l'image au niveau de rouge, vert et bleu


    merci d'avance

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 055
    Billets dans le blog
    141
    Par défaut
    Bonjour,

    J'espère que vous connaissez les fonctions d'écriture des fichiers en C ->
    fopen()
    fwrite()
    fclose()

    Sinon, je ne suis pas sur de savoir comment est produit l'histogramme, et ce qui doit être mis dans le fichier.
    Mais, une fois que vous avez votre histogramme de fait (selon la composante que vous voulez (la couleur)), vous parcourez votre tableau de l'histogramme, et vous sauvegarder dans un fichier.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    j'ai essayé del'écrire

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include<stdio.h>
    #include<stdlib.h>
    #define Rouge "Rouge.txt"
    #define  Vert "Vert.txt"
    #define Bleu "Bleu.txt"
    #define image "image.bmp"
    int main()
    {
        File *f-tr, *f-tv, *f-tb, *f-img;
        int C;
        if((f_tr=fopen(Rouge, "W"))==NULL)
    {
                         fprintf(stderr,  "\n Erreur=impossible d'ouvrir le fichier %s\n",Rouge);
                         return(Exit_Failure);
    }
    if((f_tv=fopen(vert, "r"))==NULL)
    {
                         fprintf(stderr,  "\n Erreur=impossible d'ouvrir le fichier %s\n",Vert);
                         return(Exit_Failure);
    }
    fseek (f_img, 56*sizeof(img), SEEK_END);
    printf("\n position %0", unsigned int ftell(f_img));
    while((C=fgetc (f_img)!=EOF)
    {
                   for(c=0,c<=8,i++)
                   {
                                    while(c!='\n')
                                    {
                                                  scanf("%c", &c);
                                                  if(c=='1')
                                                  le decimale*=2+1;
                                                  else if(c='0')
                                                  le decimale*=2;
                                                  }
                                                  printf("%d\n", le decimal);
                                                  return le decimal;
                                                  }
                                                  fputc(le decimal, f_tr);
                                                  }
                                                  for(c=0;c<=8;i++)
                                                  {
                                                                   fputc(le decimal, f_tb)
                                                                   }
                                                                   fclose(f_img);
                                                                   fclose(f_tr);
                                                                   fclose(f_tv);
                                                                   fclose(f_tb);
                                                                   return(Exit_success)
                                                                   }


    mais je ne sais pas est ce qu'il est correct ou non, j'éspère que vous m'aidez s'il vous plait
    et merci

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 055
    Billets dans le blog
    141
    Par défaut
    Citation Envoyé par jamibt Voir le message
    mais je ne sais pas est ce qu'il est correct ou non, j'éspère que vous m'aidez s'il vous plait
    Un programme fonctionne lorsque:
    - Il compile
    - Il fait ce que nous voulions qu'il fasse
    - Il gère correctement les cas imprévus.

    Donc, si on prend ce principe là, vous pouvez répondre à votre question toute seule.

    (Du coup, j'attends une vrai question, pour regarder le code). Une vraie question c'est soit une erreur de compilation (avec le code / et les erreurs), ou une erreur d'algorithme (explication de ce que vous appelez erreur / résultat voulu / résultat obtenu / méthode ou idée de résolution)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Histogramme d'une image RGB
    Par maryem_kh dans le forum Débuter
    Réponses: 3
    Dernier message: 12/04/2012, 14h13
  2. Histogramme d'une image BMP en niveaux de gris?
    Par bahiatoon dans le forum C++Builder
    Réponses: 13
    Dernier message: 19/11/2008, 16h36
  3. histogramme d'une image coloré
    Par kachaloarmin dans le forum Imagerie
    Réponses: 1
    Dernier message: 13/11/2007, 19h49
  4. Transposée d'une image RGB
    Par silainos dans le forum Images
    Réponses: 4
    Dernier message: 01/10/2007, 03h45
  5. Conversion d'une image rgb en hsl
    Par ranell dans le forum Images
    Réponses: 13
    Dernier message: 01/03/2007, 22h03

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