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

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

Coder une image niveaux de gris en RGB


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

Coder une image niveaux de gris en RGB

jeudi 9 septembre 2004 à 16:34:21 | Coder une image niveaux de gris en RGB

gilimcce

Il semblerait que mes problèmes de texture soit liée à cela :
je charge une image en niveau de gris, alors que ma fonction
chargeant l'image attend une image RGB... Du coup il manque
des informations et le mappage n'est que partiel.

Je ne comprends pas bien la méthode qui permettrais
de passer de l'un à l'autre...

Comme d'habitude....

Merci de m'aider à y remédier.
jeudi 9 septembre 2004 à 17:02:16 | Re : Coder une image niveaux de gris en RGB

djl

Réponse acceptée !

en niveau de gris, une couleur = 1octets
en rgb, 1 couleurs = 3octets

donc tu alloues un bufffer 3 fois plus gros et tu copie chaque octet en triple (concecutivement)
jeudi 9 septembre 2004 à 17:58:38 | Re : Coder une image niveaux de gris en RGB

magic_Nono

Membre Club
moé,

le rendu risque de ne po etre genial de tte façon

au mieux, fais toi une table de correspondance avec le rsltt a visualiser en dynamique


Magic Nono: l'informagicien!
jeudi 9 septembre 2004 à 21:02:53 | Re : Coder une image niveaux de gris en RGB

eRoZion

Membre Club
djl > "en rgb, 1 couleurs = 3octets"
Faut faire gaffe, ça c'est le cas des image rgb_24-bits, mais dans celui des images rgb_32-bits, il y a 4 octets à lire, le 4ème étant la transparance alpha (et c'est aujourdhui le format le plus souvent utilisé par defaut).

gilimcce > tu peux aussi tout simplement convertir le type de ton image à l'aide d'un logiciel de retouche. La démo d'acdsee (par exemple) le fait très bien et l'image est strictement la même visuellement. Par contre le fichier final est forcément plus lourd.


eRoZion
jeudi 9 septembre 2004 à 22:37:50 | Re : Coder une image niveaux de gris en RGB

djl

rgb + alpha on appel ca rgba
jeudi 9 septembre 2004 à 22:54:11 | Re : Coder une image niveaux de gris en RGB

eRoZion

Membre Club
Exact, mais nombreux sont les logiciels et les docs qui par abus de langage ne font pas la distinction.
Autant donner à gilimcce tous les éléments pour y arriver. :)


eRoZion
jeudi 9 septembre 2004 à 23:25:23 | Re : Coder une image niveaux de gris en RGB

gilimcce

Ah vous etes forts....
Bon, toutefois :

=> pas de souci avec le parametre alpha. Les ".jpeg" ne sont codés que sur trois octets RGB.
=> en copiant l'octet courant dans chaque case RGB, j'obtiens mon mapping complet...
=> pour etre plus clair, je vous livre le code :

AVANT ////////////

jpeg_start_decompress(&cinfo);
ligne=image;
while (cinfo.output_scanline<cinfo.output_height)
{
ligne=image+3*1440*cinfo.output_scanline;
jpeg_read_scanlines(&cinfo,&ligne,1);
}
jpeg_finish_decompress(&cinfo);
jpeg_destroy_decompress(&cinfo);

// rearangement de l'image scannee dans le tableau de texture 3D

for (i=0;i<720;i++)
for (j=0;j<1440;j++)
{
texture[i][j][0]=image[i*1440*3+j*3];
texture[i][j][1]=image[i*1440*3+j*3+1];
texture[i][j][2]=image[i*1440*3+j*3+2];
}

APRES /////////////////

jpeg_start_decompress(&cinfo);
ligne=image;
while (cinfo.output_scanline<cinfo.output_height)
{
ligne=image+1440*cinfo.output_scanline;
jpeg_read_scanlines(&cinfo,&ligne,1);
}
jpeg_finish_decompress(&cinfo);
jpeg_destroy_decompress(&cinfo);

// rearangement de l'image scannee dans le tableau de texture 3D

for (i=0;i<720;i++)
for (j=0;j<1440;j++)
{
texture[i][j][0]=image[i*1440+j];
texture[i][j][1]=image[i*1440+j];
texture[i][j][2]=image[i*1440+j];
}
}

FIN /////////

Au plaisir de solliciter une nouvelle fois votre aide,
ce qui devrait etre pour bientot.

Gil
vendredi 10 septembre 2004 à 08:57:43 | Re : Coder une image niveaux de gris en RGB

magic_Nono

Membre Club
jpeg_start_decompress & autres...
inconnues au bataillon

Ca a l'air sympa se genre de fonction, mais d'ou ça sort, pourras tu produire une srce complète?
on a po les includes tes lib etc

Merci.

Magic Nono: l'informagicien!
vendredi 10 septembre 2004 à 09:33:48 | Re : Coder une image niveaux de gris en RGB

djl

c'est la jpeglib (la bibliotheque de base pour manipuler de jpeg), enfin moi j'en connais pas d'autres, devil et imagemagik l'utilise

tu croyais que c'etais quoi ?
vendredi 10 septembre 2004 à 09:46:52 | Re : Coder une image niveaux de gris en RGB

magic_Nono

Membre Club
bien

actuellement, j'utilise les lead tools (bibliothèque payante)
qui gère tous les formats d'images.

après il en existe beaucoup d'autres...

peux tu donner une url pour cette lib? car je suppose qu'elle est libre... => download & tut.
ça évitera à ceux intéressés de chercher.

++
Magic Nono: l'informagicien!

1 2

Cette discussion est classée dans : image, coder, rgb, niveaux, gris


Répondre à ce message

Sujets en rapport avec ce message

Gros Ennui [ par oRTEEZ ] Bonjour, bonsoir,Voila mon souci, je dois faire un programme qui doit accepte un entre divers formats d'images. Puis dessiner dessus un rectangle, pui Problème de mapping après alloc dynamique [OGL] [ par gilimcce ] Désolé de remettre ce sujet, mais le suicide est proche....Si quelqu'un y comprend qq chose....Je suis revenu a quelque chose de basique :un pointeur Creation d'une Bitmap en niveaux de gris (256 ou 65536) [ par carolivier ] Bonjour,Je cherche un bout de code me permettant de creer (pour l'affichage, pasbesoin) une Bitmap en 256 (ou 65536) niveaux de gris. a chaque fois, j Creation d'une Bitmap en niveaux de gris (256 ou 65536) [ par carolivier ] Bonjour,Je cherche un boutb de code me permettant de creer (pour l'affichage, pasbesoin) une Bitmap en 256 (ou 65536) niveaux de gris. a chaque fois, Créer une palette personalisée de 256 couleurs (couleurs sur 8 bits) [ par orus8 ] Mon projet consiste en la quantification d'une image de 16 milions de couleurs en une image en 256 niveaux de couleurs (et non 256 niveaux de gris). L convertir une image de 256 en 1024 niveau de gris [ par pirate75000 ] comment convertir une image de 256 niveau de gris 8 bits en une image de 1024 ou 2048 niveau de grisen 10 ou 12 bits Image bmp à niveau de gris [ par nadine2511 ] Bonjour,je voudrais lire, traiter pixel à pixel et enregistrer une image à niveau de gris bmp (8 bits) mais je ne sais pas comment on fait. Si quelqu' C++ : afficher une image à partir d'une matrice 120*160 (256 niveaux de gris) [ par mccyem ] Bonjour,Je cherche un programme en C++ qui permet à partir d'une matrice 120*160 (de 256 niveaux de gris) d'afficher l'image correspondante.Cordialeme Programme réalisant image en niveau de gis avec Coordonnées (x,y,z) [ par raftanelle ] Je cherche un programme en C++, VB, ou autres me permettant de créer des images en niveau de gris. Le niveau de gris dépend de la hauteur Z. Les coord histogramme image ppm [ par cheberli ] salut mes amis les developpeursje voudrais developper un programme qui permet d'afficher lhistogramme d'une image ppm couleur (histogramme sous forme


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 (3)

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