Convertir image couleur en niveaux de gris

antoine2468
Messages postés
1
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
6 avril 2008
- 6 avril 2008 à 15:37
makramwahi
Messages postés
3
Date d'inscription
lundi 7 décembre 2009
Statut
Membre
Dernière intervention
31 mai 2010
- 7 déc. 2009 à 09:02
Bonjour,

Je cherche à tranformer une image couleur en niveaux de gris.

Voici le début de mon code :

import java.awt.image.Raster;
import javax.media.jai.*;
import java.awt.image.*;

public abstract class convertir {
 
    public static void main(String[] args) {
       
        PlanarImage img = JAI.create("fileload", "image.jpg");
        Raster raster = img.getData();
       
        int[] pixels = new int[3];
        int[] pixelgris = new int[1];
       
        for (int i=0;iJ'obtiens, pour chaque pixel couleur de mon image, la valeur du pixel gris correspondant : j'ai donc tous les pixels de mon image en niveux de gris. Mon problème est d'enregistrer ces valeurs dans un raster : en gros, je cherche à faire raster.setPixels(*) - ce qui n'existe pas. J'ai vu qu'il existait WritableRaster, mais je n'arrive pas du tout à comprendre comment ça marche.

Merci beaucoup pour votre aide,
Bonne journée
A voir également:

2 réponses

Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
38
6 avril 2008 à 16:25
Salut:

import java.awt.image.BufferedImage;
import java.awt.image.ColorConvertOp;
import java.awt.color.ColorSpace;
/**
  * Transformer une image colorée en Niveau de gris.
  */
BufferedImage toGray (BufferedImage bi) {
    ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);   
    ColorConvertOp op = new ColorConvertOp(cs, null);
   
    return op.filter(bi, null);
}
0