Dans mon projet java, j'ai besoin d'une méthode pour convertir une image en niveaux de gris 8 bits (0,225) en une image à 3 bits (0,7). Des idées?comment convertir une image en niveaux de gris où chaque pixel est 8 bits à une image ayant une représentation de 3 bits pour chaque pixel seulement?
J'ai utilisé cette méthode, mais il me donne
Exception dans le thread "principal" java.lang.ArrayIndexOutOfBoundsException: Coordonnée hors limites!
image.getRaster().setSample(x, y, image.getRaster().getSample(x,y, 0)/32)
L'expression «ne fonctionne pas» ne nous en dit pas beaucoup. Vous pouvez trouver ceci utile: [Comment poser une bonne question?] (Http://stackoverflow.com/help/how-to-ask). – MJH
La modification d'un échantillon pour utiliser moins de bits ne modifie pas réellement l'image pour qu'elle soit une image en niveaux de gris à 3 bits. Le tampon de données d'image est toujours le même bits par pixel que précédemment. --- Si vous souhaitez conserver une "couleur" de pixel approximative (niveau de gris), vous devez effacer les bits inférieurs, ne pas décaler les bits, utilisez donc 'sample = sample & 0xE0'. – Andreas