Bonjour,
Voila, j'ai un petit soucis. J'ai une image couleur (type que je lis RGB) or elle n'est composée que de 2 teintes (vert et rouge). Mon but (dans un premier temps est de la passée en niveau de gris. Pour cela j'ai créé une petite fonction (cf ci dessous) mais le resultat est une image toute noir ou presque (la quasi totalités de mes pixels étant compris entre 0 et 15).
Quelqu'un pourrait 'il me dire si il y a quelque chose qui ne vas pas?
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public BufferedImage grayPict(BufferedImage image) { BufferedImage gray = new BufferedImage(larg, haut, 10); for (int x = 0; x < larg; x++) { for (int y = 0; y < haut; y++) { /** * Lecture manuelle des composantes : On ne garde que le rouge * et le vert car les images ne sont composées que de ces 2 * teintes */ int rgb = image.getRGB(x,y); int rouge = (rgb >>16 ) & 0xFF; int vert = (rgb >> 8 ) & 0xFF; int ndg = (int) Math.round((rouge * 0.5) + (vert * 0.5)); gray.setRGB(x,y,ndg); } } return gray; }
Partager