[c] charger une image pixel par pixel dans un tableau

charger une image pixel par pixel dans un tableau [c] - C - Programmation

Marsh Posté le 29-05-2007 à 18:01:34    

Bonjour,

 

Je cherche un moyen de charger une image en mettant chaque pixel dans un tableau.
C'est une image .bmp en niveau de gris.
Je cherche à charger dans ce tableau la valeur du niveau de gris ( entre 0 et 255 inclue) pour pouvoir faire des filtre sur cette image.
Y a-t-il un moyen simlpe de faire ça ?

 

J'ai regarder du cotès des lib sdl, mais je connais pas trop alors ...

 

merci


Message édité par castorgris le 29-05-2007 à 19:13:22
Reply

Marsh Posté le 29-05-2007 à 18:01:34   

Reply

Marsh Posté le 29-05-2007 à 18:03:08    

quelle format tes images ?

Reply

Marsh Posté le 29-05-2007 à 18:13:13    

celui qui est le moins compliqué, je pense que ça doit être le .bmp non ?

Reply

Marsh Posté le 29-05-2007 à 18:45:13    

bah, google FTW quoi :
 
http://gpwiki.org/index.php/C:Disp [...] p_With_SDL


Message édité par Joel F le 29-05-2007 à 18:46:02
Reply

Marsh Posté le 29-05-2007 à 19:02:46    

ça je sais faire.
mais je ne sais pas acceder au pixel de l'image a partir de ça .
Je ne veux pas affciher l'img, je veux pouvoir faire des comparaison pixel par pixel.


Message édité par castorgris le 29-05-2007 à 19:04:17
Reply

Marsh Posté le 29-05-2007 à 19:46:53    

et il n'y a pas un truc simple ? parceque je ne comprend pas comment acceder à ce que je veux avec ces lib là ....

Message cité 1 fois
Message édité par castorgris le 29-05-2007 à 19:47:00
Reply

Marsh Posté le 29-05-2007 à 19:58:10    

si ton format d'image en entrée est libre tu peux tenter du PPM.
http://netpbm.sourceforge.net/doc/ppm.html
C'est pas vraiment efficace comme format mais ça a l'avantage d'être bête et méchant.

Reply

Marsh Posté le 30-05-2007 à 00:33:30    

castorgris a écrit :

et il n'y a pas un truc simple ? parceque je ne comprend pas comment acceder à ce que je veux avec ces lib là ....


 
La doc ça se lit, suffit pas d'attendre que ça pénètre en fixant l'écran :o
 
imlib_load_image()
imlib_image_get_data()
 
Pour le reste, apprends à lire ...
 


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 30-05-2007 à 17:38:46    

imlib_image_get_data()  ? pas vu cette fonction...
 
Enfin je pense que le problème est solvable en sdl (c'est quand même la question de départ)...mais il doit falloir faire attention au type des données (Uint32, int...).
 
Le ppm est intéressant également....et au moins ça ne rajoute pas des librairies inutilement....quoique, une librairie par fonction ça peut être optimal comme solution....surtout si les librairies ont des fonctions communes!!!
 

Reply

Marsh Posté le 30-05-2007 à 17:38:46   

Reply

Marsh Posté le 30-05-2007 à 19:17:53    

SquiZZ a écrit :

si ton format d'image en entrée est libre tu peux tenter du PPM.
http://netpbm.sourceforge.net/doc/ppm.html
C'est pas vraiment efficace comme format mais ça a l'avantage d'être bête et méchant.


C'est vrai que c'est bête et mechant, mais ça marche.Merci.
 
Je vais continuer de chercher pour exploiter des img d'un autre format.
 
 

Citation :


Pour le reste, apprends à lire ...  


 
Et toi va aprendre le respect et l'aimabilité ...

Reply

Marsh Posté le 30-05-2007 à 21:53:20    

castorgris a écrit :

C'est vrai que c'est bête et mechant, mais ça marche.Merci.
 
Je vais continuer de chercher pour exploiter des img d'un autre format.
 
 
 
 
Et toi va aprendre le respect et l'aimabilité ...


 
Sinon tu peux essayer la librairie GDK pixbuf qui est assez puissante, mais bonjour la doc :/

Reply

Marsh Posté le 30-05-2007 à 23:19:25    

in_your_phion a écrit :

Sinon tu peux essayer la librairie GDK pixbuf qui est assez puissante, mais bonjour la doc :/


 
http://www.gtk.org/api/2.6/gdk-pixbuf/index.html :o
 
GdkPixbuf*  gdk_pixbuf_new_from_file        (const char *filename, GError **error);
guchar*     gdk_pixbuf_get_pixels           (const GdkPixbuf *pixbuf);


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 31-05-2007 à 10:28:12    

0x90 a écrit :

http://www.gtk.org/api/2.6/gdk-pixbuf/index.html :o
 
GdkPixbuf*  gdk_pixbuf_new_from_file        (const char *filename, GError **error);
guchar*     gdk_pixbuf_get_pixels           (const GdkPixbuf *pixbuf);


 
oué pour des trucs basics c'est ok. Par contre il faut souvent dealer avec GDK et faire des casts dans tous les sens (enfin d'apres ma petite expérience :o)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed