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

Bibliothèques Discussion :

Visual C++ : Bug avec Libjpeg


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Par défaut Visual C++ : Bug avec Libjpeg
    Bonjour tout le monde !


    après des jours et des jours de bataille acharnée avec la librairie Jpeg, j'ai réussi à l'installer et à débugger quelques lignes de codes.

    Le souci c'est que là je n'ai plus de solutions : j'ai un bug jamais rencontré (mais bon étant débutante en programmation, c'est pas difficile) :

    Le débugger me dit "User Breakpoint called from code at 0x7c91123"
    Ce bug apparaît à la ligne : "jpeg_finish_decompress(&cinfo);"


    Et là je ne vois pas du tout ce que cela peut signifie:

    Est-ce un problème de mémoire ou un problème de configuration du débugger??
    Quelqu'un aurait-il une idée à me suggérer?

    Merci

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    int main (char *photo_jpg)
    {
    cMatrice_Photo rvb;
     struct jpeg_decompress_struct cinfo;
     struct jpeg_error_mgr jerr;
     unsigned char *image;
     FILE *photo; // descripteur de fichier.
     unsigned char *ligne;
    int i3,j3; // utilisées lors des boucles.
    fprintf(stderr, "Usage : %s fichier.jpg\n\n");  
    cinfo.err = jpeg_std_error(&jerr);
    jpeg_create_decompress(&cinfo);
     
     photo = fopen("photo_jpg.jpg","rb");   
     if(!photo)
     { cout << "Chargement du Fichier échoué"<< endl; return 1;}
     
    jpeg_stdio_src(&cinfo, photo);
     jpeg_read_header(&cinfo, TRUE);
     
     // obtention des dimensions de l'image.
     int width = cinfo.image_width;
     int height = cinfo.image_height;
     
     // allocation de mémoire pour le stockage des pixels en mémoire.
     image = (unsigned char*) malloc (width * height * sizeof(unsigned char));
     
    jpeg_start_decompress(&cinfo);
    ligne=image;
     
    while (cinfo.output_scanline<cinfo.output_height)
    {
          ligne=image + width * cinfo.output_scanline;
          jpeg_read_scanlines(&cinfo,&ligne,1);
     
     }
     
     jpeg_finish_decompress(&cinfo);
     jpeg_destroy_decompress(&cinfo);
     
     // passe dans chaque colonne de pixels (...)  
     for (i3=0;i3<256;i3++)
        // (...) puis par ligne
    {
        for (j3=0;j3<256;j3++)
    {  // on récupère les valeurs des couleurs RVB (...)
          int color_r = image[i3*256*3+j3*3];
          int color_v = image[i3*256*3+j3*3+1];
          int color_b = image[i3*256*3+j3*3+2];
     
           rvb.I = i3 +1;
           rvb.J = j3 + 1;
          rvb.R = color_r;
          rvb.V = color_v;
          rvb.B = color_b;
         LMatrice_Photo.push_back(rvb);  
     
       }//for j
     };//for i
     fclose (photo);
     
    return 0; }
    Ayla_21

  2. #2
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut Re: Visual C++ : Bug avec Libjpeg
    Citation Envoyé par Ayla_21
    ...
    Le débugger me dit "User Breakpoint called from code at 0x7c91123"
    Ce bug apparaît à la ligne : "jpeg_finish_decompress(&cinfo);"

    Et là je ne vois pas du tout ce que cela peut signifie:

    Est-ce un problème de mémoire ou un problème de configuration du débugger??
    Quelqu'un aurait-il une idée à me suggérer?

    ...
    Ben c'es un problème de mémoire et dans ton cas c'est un débordement...

    Je crois que c'est normal car si ton image est en RVB cette ligne est fausse :

    Citation Envoyé par Ayla_21

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     // allocation de mémoire pour le stockage des pixels en mémoire.
     image = (unsigned char*) malloc (width * height * sizeof(unsigned char));
    moi je mettrai plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     // allocation de mémoire pour le stockage des pixels en mémoire.
     image = (unsigned char*) malloc (width * height * sizeof(unsigned char) * 3);
    car tu as un unsigned char par composante (R,G et B)

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Par défaut
    Merci

    Le débugger est passé sans problème. C'est vraiment sympa.

    Juste une question qui n'a rien à voir : "ta photo" me fait penser à un certain mr Pelle qui nous balançait cette photo à chaque cours de c++. Ca me fait rire de la retrouver ici.

    mais merci encore!

  4. #4
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    Merde je suis démasqué ... et ouais je suis passé par l'école de l'IGN et j'ai eu MR Pelle en cours et mon avatar est scanné d'un de ces poly...
    Le monde est petit...

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Par défaut
    Oui le monde est petit. je trouve cela amusant.
    T'es un ancien IT ou mieux un ancien Bouillé?

  6. #6
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    Ancien Bouillé...

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Par défaut
    Ancienne Bouillé depuis octobre slt mais toujours en stage. mais bon il paraît que des bouillé il y en a partout... Ca laisse rêveur pour paraphraser notre maître à tous

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Merci d'utiliser les messages privés pour les discutions personnelles.


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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2010, 20h14
  2. Visual Studio 2010 - Bug avec le serveur de développement
    Par esbeone dans le forum Visual Studio
    Réponses: 0
    Dernier message: 06/10/2010, 11h56
  3. Bug : Visual studio 2010 avec Designer Winform
    Par onizuka_metal dans le forum Visual Studio
    Réponses: 2
    Dernier message: 15/09/2010, 12h29
  4. fstream => bug avec Visual c++ 2005 Express Edition ?
    Par Farks dans le forum Visual C++
    Réponses: 7
    Dernier message: 04/04/2007, 10h20

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