begin process at 2012 05 29 23:38:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Librairie jpeg et bug : user breakpoint called from code 0x7c911230


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Librairie jpeg et bug : user breakpoint called from code 0x7c911230

lundi 7 novembre 2005 à 11:24:04 | Librairie jpeg et bug : user breakpoint called from code 0x7c911230

Ayla_21

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:


 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; }


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?

Ayla_21

mardi 8 novembre 2005 à 01:08:48 | Re : Librairie jpeg et bug : user breakpoint called from code 0x7c911230

meech

Membre Club
Bonsoir, Ouh là... cela ressemble fort à un des codes que j'ai posté sur un forum [http://www.cppfrance.com/forum.v2.aspx?ID=526548], au commentaire près ;-). Ben, j'ai sans doute foiré et, je cherche... pour l'instant en vain. Il me semblerait en effet qu'il y ait un dépassement de mémoire quelque part, mais où ? A plus tard.
mardi 8 novembre 2005 à 01:23:38 | Re : Librairie jpeg et bug : user breakpoint called from code 0x7c911230

meech

Membre Club
Re-bonsoir, La ligne d'allocation dynamique de mémoire pour la variable image semble poser problème. Tu devrais utiliser "sizeof(unsigned int)" au lieu de "sizeof(unsigned char)". En fait, un type de données non signé char tient sur 1 octet, alors qu'un type de données non signé entier tient sur quatre octets. De fait, tu n'alloues pas suffisamment de mémoire pour décompresser l'ensemble du fichier d'où, peut-être, l'apparition de l'erreur que tu évoques. En espérant t'avoir aidé, A bientôt et bonne continuation (un peu pénible de lire des jpeg, non ? ;-)
mardi 8 novembre 2005 à 14:07:36 | Re : Librairie jpeg et bug : user breakpoint called from code 0x7c911230

Ayla_21

Salut meech


Oui il s'agit de ton code que tu m'avais envoyé cet été, ca me dépanne pas mal.
Merci encore. pour le problème j'ai fait le choix de tout passer en unsigned char car c'est tout ce qu'accepte la fonction jpeg_read_scanlines en paramètres.

Pour l'instant ca tourne.
Et oui, la lib jpeg est PENIBLE et c'est encore un faible mot : j'y suis depuis je ne sais combien de jours. Mais le code que tu m'avais donné m'a bcp aidé : c'est juste l'installation de la librairie qui n'est pas évidente.

Juste une dernière question : quand on récupère les valeurs de RVB  les pixels sont lus de gauche à droite mais pour moi c'est de bas en haut. Mais sur d'autres codes similaires il est dit que c'est de haut en bas. Tu en penses quoi?

Merci






Ayla_21



Cette discussion est classée dans : image, photo, jpeg, rvb, cinfo


Répondre à ce message

Sujets en rapport avec ce message

[HELP]DirectShow : SampleGrabber + libjpeg [ par shyne99 ] Bonjour, Voila je modifie le programme Playcap fourni dans la SDK de DirectShow. Ce programme creer un graph afin de recuperer le flux video de la c Scanner une image [ par KissSeb ] Bonjour, pour mon projet de fin de seconde année de BTS IRIS je doit grace a une camera scanner une pellicule photographique.C'est a dire que je doit mettre une image dans un picture control [ par Flaken ] Bonjour, Voila je suis sous Visual Studio 2005 et j'ai créer une MFC. J'ai ajouter un bouton parcourir où je récupere le chemin de la photo selectionn Afficher une image .jpeg dans un Picture Control [ par Flaken ] Bonjour,Je voudrais mettre une image en format .jpeg dans un Picture Control. Pour cela j'ai créer un bouton parcourir qui permet de sélectionner une Ouvrir un fichier JPEG [ par gamers84 ] Salut a tous Je voudrais creer un programme en C permetant au utilisteur d'ouvrir un image jpeg mais je ne sait pas comment ouvir l'image a aprtir du libjpeg. visual studio OpenGl [ par akim08 ] Bonjour a tous,Voila je dois realiser un projet en openGl, en utilisant pour la 1er fois visual studio.j'arrive a la phase de texturation et je suis o Traitement d'image jpeg en c [ par Allamo777 ] Bonjour,Ceci est mon premier message et je dois bien avouer que je commence tout juste dans le monde de la programmation...Voilà mon problème : Je che gtk_image_new_from_file : où faut-il placer l'image et comment écrire le chemin ? [ par aurhas ] Bonjour, je souhaiterais savoir où il faut placer l'image quand on écrit "gtk_image_new_from_file". J'ai essayé de la mettre avec le .exe et dans le r Decompression jpeg [ par turnerom ] Bonjour,je cherche un code ou une bibliothèque en C++ qui soit compatible Windows et Linux et qui permette de décompresser le jpeg (vers du bmp ou du


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales