В моем проекте java мне нужен метод преобразования 8-битного (0,225) изображения в оттенках серого в 3-битный (0,7). Есть идеи?Как преобразовать изображение в оттенках серого, где каждый пиксель составляет 8 бит для изображения, имеющего 3-битное представление для каждого пикселя?
Я использовал этот метод, но он дает мне
Исключение в потоке «основной» java.lang.ArrayIndexOutOfBoundsException: Координаты вне границ!
image.getRaster().setSample(x, y, image.getRaster().getSample(x,y, 0)/32)
Фраза «не работает» не говорит нам многого. Вы можете найти это полезным: [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask). – MJH
Изменение образца для использования меньшего количества битов фактически не изменяет изображение как трехбитное изображение в оттенках серого. Дабаффер изображения по-прежнему остается одним и тем же битом на пиксель, как и раньше. --- Если вы хотите сохранить приблизительный пиксельный «цвет» (серый уровень), вы должны очистить младшие биты, а не сдвигать биты, поэтому используйте «sample = sample & 0xE0». – Andreas