begin process at 2012 05 29 18:35:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb : lecture d'un fichier bmp, "decalage"


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

pb : lecture d'un fichier bmp, "decalage"

mardi 10 février 2004 à 14:45:27 | pb : lecture d'un fichier bmp, "decalage"

fiston_67


Le problème est le suivant : je souhaite lire un fichier bmp couleur 24 bits et 16 millions de couleur, et stocker le resultat dans 3 matrices rouge, vert et bleu.

Voici le code que j'utilise :
int lit_bmp(char *source){ //source = fichier à lire
FILE * ptr_src;

if((ptr_src=fopen(source,"rb"))!=NULL)
{
for (int i=0;i<offset;i++) fgetc(ptr_src);
for (int y=0;y<hauteur;y++)
{
for (int x=0;x<longueur;x++)
{
ecran_b[x+y*longueur]=(unsigned char)fgetc(ptr_src);
//ecran_b, ecran_r et ecran_v designent des tableaux (correctement alloués ds une fct précédente
//ecran_r = contient les pixels rouges de l'image ...
ecran_v[x+y*longueur]=(unsigned char)fgetc(ptr_src);
ecran_r[x+y*longueur]=(unsigned char)fgetc(ptr_src);
}
}
fclose(ptr_src);

}
return 0;
}


Le problème est que quand je teste ce dernier (et que je reconstitue l'image, il y a "un decalage" très bizarre, particulièrement dans le tiers en haut à gauche de l'image. En consultant les archives, j'ai vu que je n'etais pas le seul à avoir ce problème. La solution suggérée est d'enregistrer une image en bmp 24 bits, mais l'image en question doit posséder 256 couleurs seulement.
Or, cela ne me satisfait pas, je veux pouvoir traiter des images à 16 millions de couleur, alors j'attend vos suggestions avec impatience.

Ah oui, je developpe sous Borland c++ (win xp).
mardi 10 février 2004 à 21:01:26 | Re : pb : lecture d'un fichier bmp,

vecchio56

Administrateur CodeS-SourceS
j'ai déja rencontré ce problème.En fait selon la taille de la bitmap, entre chaque ligne, il peut y avoir 0, 1 ou 2 octets. Cela varie en fonction de la valeur de longeur%3.
Je ne suis pas sur de ce que je te dis, meme pas si c'est ca ton problème, mais tu n'as diminuer la largeur de ton image de 1 ou 2 pixels et normalement le pb disparait. Dans le cas général, tu dois dont lire 1 ou 2 caractères à la fin de chaque ligne en fonction de la valeur de longueur.
mardi 10 février 2004 à 22:42:10 | Re : pb : lecture d'un fichier bmp,

sebseb42

oui c'est le probleme quil a, seulement c'est longeur % 4 et non pas 3

une petite finte et tu sera tranquil

met ce code en haut de ta fonction, la declaration de longueur_useless au debut, et longueur_useless = longueur % 4; juste apres avoir definit longueur;


int longueur_useless;

// ...
// definition de longueur;
longueur_useless = longueur % 4;


ensuite, a la fin de ta boucle x, tu met ca :


for (x = 0; x < longueur_useless; x++)
fgetc(ptr_src);


et voila, ca va te zapper automatiquement les donnes indesirable
mercredi 11 février 2004 à 00:14:39 | Re : pb : lecture d'un fichier bmp,

fiston_67


Merci beaucoup je vous doit une fière chandelle (; !


Cette discussion est classée dans : ecran, image, ptr, bmp, src


Répondre à ce message

Sujets en rapport avec ce message

HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année [ par FLOX ] Bonjour à tous,Auriez vous un source me permettant de transformer une image JPEG en BMP. Tout cela d'une manière simple et compréhensive pour un début seuillage d'une image bmp [ par coolman789 ] salut a tous !!!je voudrais savoir si il y a quelqu'un pour me dire ou je puisse trouver un algorithme pour effectuer un seuillage sur une image bmp e extraction du contour d'une image BMP [ par juliette ] On a une image en noir et blanc et on souhaiterait extraire son contour.Les images sont sous le format BMP.Extraire le contour d'une image consiste à Comment convertir une image png en bmp? [ par REk2002 ] Je cherche un programme pas trop compliqué à comprendre pour convertir une images png en format bmp. Affichage d'une image a l'ecran [ par cbiron ] Je travaille initialement en C, je dispose d'une image codée en RGB dans un buffer et je veux l'afficher a l ecran.Pouvez vous me dire comment creer u conversion image tiff à bmp [ par mouss8 ] je voudrais savoir comment récupéré les données dans une image tiff et bmp ou savoir la composition de ces fichiers (en-tete,info image, donné) charger une image bmp à partir du disque dur et apercu dans fenetre [ par djmix73 ] En fait, jai windows xp, je fais un projet informatique c'est une gestion de film, je voudrai charger une image bmp à partir du disque dur et avoir l' Introduire une image BMP dans un prog C [ par 751 ] 751 je voudrais afficher en fond d'écrande mon programme coè en C une image Bmp et j'ai beau chercher je ne trouve pas comment faire je voudrais savo Charger un BMP avec une OpenFileDialog et l'afficher dans un pictureBox . [ par Dragoon ] Bonjour à tous,Je ne suis pas un spécialiste du C++ et des MFC et je souhaiterais comprendre ce qui ne va pas dans mon programme.Je voudrais que celui BMP [ par 511 ] Bon je crois que j'ai déjà poser la question mais mon probleme n'est toujours pas résolu donc je la repose on sait jamais.Tout d'abords je précise que


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 : 2,402 sec (3)

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