Bonjour amis du forum
Je voudrais utiliser la fonction colorToHSV pour convertir une image rgb en hsv pour ensuite ne sélectionner qu'une seule couleur.
Cependant j'ai un petit problème au niveau des arguments d'entrée lors de la déclaration des variables notamment.
bitmap est une image rgb chargée avant.
Mon code actuel est:
Cependant le programme plante avec la ligne de commande
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33 int x=bitmap.getWidth(); int y=bitmap.getHeight(); //numeriser.setText(String.valueOf(bitmap.isMutable())); j=1; t=1; int[] mapSrcColor = new int[x * y]; float[] pixelHSV = new float[3]; bitmap.getPixels(mapSrcColor, 0, x, 0, 0, x, y); int index=0; while (t<=x-1) { while (j<=y-1) { Color.colorToHSV(mapSrcColor[index], pixelHSV); index++; if (pixelHSV[0]>= 220 && pixelHSV[0]<=260) //couleur du bleu { bitmap.setPixel(t, j, Color.WHITE); } else { bitmap.setPixel(t, j, Color.BLACK); } j=j+1; } j=1; t=t+1; } }Et je ne comprend pas pourquoi puisque x et y existent et que ça fonctionne pour le int qui suit!?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part int[] mapSrcColor = new int[x * y];
Quelqu'un a t il une idée du pourquoi de cette erreur? ou une autre idée pour contourner cette ligne de code?
Je suis dispo pour toutes précisions.
Partager