Bonjour,
J'aimerais savoir comment convertir une image couleur vers des niveaux de gris
en utilisant la JAI
Merci
Bonjour,
J'aimerais savoir comment convertir une image couleur vers des niveaux de gris
en utilisant la JAI
Merci
une petite recherche ici-même t'aurais amené page suivante,
ici même...
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".
Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java
Je ne réponds pas aux MP techniques
Effectivement il y a des opérations linéaires qui permettent la conversion. Ce que je voulais savoir c'est s'il existe une façon de faire propre à la JAI.
En gros dans le jai guide :
c'est le code pour la conversion couleur. Perso, je l'ai pas compris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Read the image from the specified file name. RenderedOp src = JAI.create("fileload", fileName); // Create the ParameterBlock. ParameterBlock pb = new ParameterBlock(); pb.addSource(src).add(colorSpace); // Perform the color conversion. RenderedOp dst = JAI.create("ColorConvert", pb);
Je te conseille la 2nde méthode du guide:
Code java : 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 public static void main(String[] args) { double[][] matrix = { { 0.114, 0.587, 0.299, 0.0 } }; // Read the image from the specified file name. RenderedOp src = JAI.create("fileload", "lenaCOLOR.bmp"); // Create the ParameterBlock. ParameterBlock pb = new ParameterBlock(); pb.addSource(src); pb.add(matrix); // Perform the convolution PlanarImage dst = (PlanarImage)JAI.create("bandcombine", pb, null); // Save the new image JAI.create("filestore", dst, "lenaGRAY.png", "PNG"); }
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Je cherche à convertir un PlanarImage vers un tableau d'entiers.
perso j'ai tenté comme ça mais y a un pb :
Code java : 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 public int[] Format2intArray() { Raster raster = image.getData(); int[] pixels = new int[width * height]; //int[] pixels = new int[1]; raster.getPixels(0, 0, width, height, pixels); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) System.out.print(pixels[width * y + x] + " "); System.out.println(); } return pixels; }
Pourtant c'est la bonne méthode. Quel est le problème ?
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager