begin process at 2012 05 30 11:26:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Recherche format d'image le plus simple !!


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

Recherche format d'image le plus simple !!

jeudi 6 mai 2004 à 12:52:39 | Recherche format d'image le plus simple !!

ymerej


Bonjour,
je souhaite connaitre quel est le format d'image le plus simple a lire car en fait je veu récupérer une image en noir et blanc de 128 x 64 et voir pour chaque pixel est ce qu'il est blanc ou noir dc à 1 ou à 0.
BMP c pas trop compliqué mais pour les images en noir et blanc G pas trop compris comment ca marchait.
Alors si vous avez un autre format a me proposer ? Avec l'explication de la structure si possible, je suis preneur.
Sur ce, bon appetit !
@+
Ymerej
jeudi 6 mai 2004 à 13:41:53 | Re : Recherche format d'image le plus simple !!

Hylvenir

http://netpbm.sourceforge.net/doc/pbm.html

plus simple, ça va être dur...

// Ma participation à la saturation du net:
// http://hylvenir.free.fr
jeudi 6 mai 2004 à 13:44:20 | Re : Recherche format d'image le plus simple !!

ymerej

Merci mais ej vé en rester au bitmap pr le moment !
@+
jeudi 6 mai 2004 à 13:46:08 | Re : Recherche format d'image le plus simple !!

ymerej

oui mais alors quel soft te permet d'enregistrer une image au format PBM ?
jeudi 6 mai 2004 à 13:51:37 | Re : Recherche format d'image le plus simple !!

mop666


voila comment faire pour du noir et blanc (1 pixel = 1 bit)
le principe c est que si le bit est a 1, le pixel associe sera de la seconde couleur de la palette, sinon de la premiere...

d abord le header:

BITMAPFILEHEADER bmpFileHeader;
bmpFileHeader.bfType = 'MB';
bmpFileHeader.bfSize = sizeof(BITMAPINFOHEADER)+sizeof(BITMAPFILEHEADER)+sizeof(RGBQUAD)*2+(width*_height)/8;
bmpFileHeader.bfReserved1 = 0;
bmpFileHeader.bfReserved2 = 0;
bmpFileHeader.bfOffBits = sizeof(BITMAPINFOHEADER)+sizeof(BITMAPFILEHEADER)+sizeof(RGBQUAD)*2;

/*bfType c est le type
bfSize la taille complete du fichier en octet (8 pixel par octet)
bfOffBit le saut en octewt a faire jusqu aux donnees
*/

voila l info header:

BITMAPINFOHEADER bmpInfoHeader;
bmpInfoHeader.biSize = sizeof(BITMAPINFOHEADER);
bmpInfoHeader.biWidth = width;
bmpInfoHeader.biHeight = height;
bmpInfoHeader.biPlanes =1;
bmpInfoHeader.biBitCount = 1;
bmpInfoHeader.biCompression = 0;
bmpInfoHeader.biSizeImage = (width * _height)/8;
bmpInfoHeader.biXPelsPerMeter = 0;
bmpInfoHeader.biYPelsPerMeter = 0;
bmpInfoHeader.biClrUsed = 2;
bmpInfoHeader.biClrImportant = 0;

/*
rien de complique ici
*/

ensuite tu ecrit la palette de deux couleurs:

RGBQUAD palette[2];

palette[0].rgbBlue = 255;
palette[0].rgbGreen = 255;
palette[0].rgbRed = 255;
palette[0].rgbReserved = 0;

palette[1].rgbBlue = 0;
palette[1].rgbGreen = 0;
palette[1].rgbRed = 0;
palette[1].rgbReserved = 0;

/*
ici la couleur des bits 0 est blanc et noir pour les bit 1
*/

tu ecrit par la fonction fwrite...

ensuite ecrire les donnees:
d abord la largeur de ton image doit etre un multiple de 32...
dans notre cas on va ecrire les donnees par paquet de 32....
on doit ecrire les donnees de bas en haut, et de gauche a droite...
si par exemple on se sert d'un UINT pour ecrire les donnees, tu dois mettre par exemple la valeur du premier pixel sur le bit fort (le numero 31) ensuite le suivant va en 30....etc...jusqu a 0 puis on rempli un autre uint....
seulement voila:tu dois pas ecrire l'UINT directement: il faut l'ecrire par paquets d'octets en sens invers c est a dire que tu ecriras d abord les 8 bits forts (au dessus du 24 eme) ensuite ceux au dessus du 16 eme, ensuite ceux au dessus du 8 eme et enfin ceux en 0 (utilise la fonction putc)
...
voila, ca marche pour moi sous visual c++ 6 ...
@++


jeudi 6 mai 2004 à 13:54:42 | Re : Recherche format d'image le plus simple !!

Hylvenir

bon allez, soyons fous...

utilise XPM (t'auras même droit à plus de couleur)

The GIMP permet de transformer tes images dans de format
( en fait une chaine de caractères que tu peux inclure directement dans ton exe )

http://www.gromacs.org/documentation/reference_3.0/online/xpm.html
ou un autre lien de google


Ma participation à la saturation du net:
http://hylvenir.free.fr
jeudi 6 mai 2004 à 14:00:19 | Re : Recherche format d'image le plus simple !!

ymerej

Hylvenir >> Ta pas compris, je ne veu surtout pas m'embeter avec de la couleur puiskil n'y en aura pas !
Je veu juste coder le noir et blanc pr que ca soit + simple !

mop666 >> dc ce que tu ma donné comme code c bien pr une bitmap ?
Merci au fait !
jeudi 6 mai 2004 à 14:02:59 | Re : Recherche format d'image le plus simple !!

ymerej

En fait je ne me suis pas fé assez comprendre, excusez moi je reexplik :

Je ne veu pas coder une image mais lire un fichier image.
Qui plus ets mon image sera en noir et blanc dc je demandais simplement quel format allait le mieux.
C tt.
Dc le BMP a l'air sympa !

jeudi 6 mai 2004 à 14:06:06 | Re : Recherche format d'image le plus simple !!

mop666


ouic est cool le bmp...pour le lire t as qu a faire un fread sur un file header, puis un fread sur un info header, puis deux fread sur des RGBQUAD puis enfin tu lis tes donnees en prenant par 4 paquest d unsigned char (8 bits ) en les remettant dans l ordre:
le premier en haut, le deuxieme en dessous etc....enfin tu fais le chemin inverse quoi!
jeudi 6 mai 2004 à 14:09:07 | Re : Recherche format d'image le plus simple !!

ymerej

ok !
j'en etais arriver a la même conclusion en etudiant la structure du bmp !

1 2

Cette discussion est classée dans : image, simple, format, noir, blanc


Répondre à ce message

Sujets en rapport avec ce message

conversion couleur noir & blanc [ par scudi ] Bonjour! j aimerai savoir comment faire pour changer une image en couleur en noir et blanc. Je sait qu il faut changer la palette de l image (je trait C : conversion d'image cvouleur en noir et blanc [ par nemege ] salut,j'aimerais savoir comment faire en C pour convertir une image couleur en noir et blanc ???merci . comparaison de données en format image et format ASCII, similaires ou pas [ par crizX ] Bonjour [^^happy13], Je souhaite actuellement comparer des données caractères de format différents! l'idée est de se servir de ces deux formats et de [C++ vers Bar]création d'une image de synthèse au format .df3 sous Povray à partir d'un fichier .inc ou .tab [ par alex2229 ] je voulais savoir si par hasard quelqu'un avait déjà réaliser ce genre de programme pour Povray. Cordialement, alex convertir une image (noire et blanc) en binaire [ par pipive ] Salut, J'ai des images (black&white) que j'aimerais comparer. J'utilise [b]C++[/b] dans [b]QT4[/b]. J'aimerais savoir [b]comment convertir des images Avoir le pourcentage d'une couleur sur une autre [ par pipive ] Salut, Jai des images(black and white. Plus precisement l'objet sur l'image est blanc et le fond de l'image (background) est noir. Ce que je veux fair vérification de format d'une image ? [ par mezzoben ] Bonjour à tous, Voila ou je me suis, en fait je travaille en C et je développe une petite application qui permets le téléchargement des fichiers du Ne éliminer quelques points blanc sur une image binarisée [ par lolitatou ] Salut comment on fait pour éliminer quelques points blanc sur une image binarisée? je veux garder seulement des formes blanches bien determinées sur Sauvegarde du rendu ds un fichier image [ par titeufxp ] Bonjour,J'aurai besoin d'aide pour sauvegarder le contenu de ma fenetre opengl ds un format image genre BMP ou JPG.J'arrive a faire un fichier image a


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,187 sec (3)

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