У меня есть простая функция квантованияцвета квантования разбавляя чистые белые
public static int quantize(int oldpixel) {
int r = (oldpixel >> 16) & 0xff;
int g = (oldpixel >> 8) & 0xff;
int b = (oldpixel >> 0) & 0xff;
int color = 0xff << 24 | (((int) ((r)/32) * 32) & 0xff) << 16 |
(((int) ((g)/32) * 32) & 0xff) << 8 |
(((int) ((b)/32) * 32)& 0xff) << 0;
return color;
}
Что она делает это уменьшить цвет на более низкий цвет детализации, а затем расширяет его, это искусственно ограничивает поддон, и я буду использовать его для дрожание фильтр, изображение с помощью функции производит этот
В: Unquantized hue wheel Out: Quantized hue wheel
Это почти идеально подходит в качестве г esult, за исключением того, что белые восстанавливают до серого, я понимаю, причина мой пол разделенных цветов в алгоритме, но я не знаю, как это исправить, любые предложения будут оценены
Вместо '/ 32 * 32', попробуйте'/32 * 33'. – immibis
33 помогает незначительно, после игры с ним бит 36 является более высоким пределом и производит почти белый цвет, хотя проверка с помощью инструмента выбора цвета показывает его не совсем, но это будет хорошо работать как временное обходное решение, так как оно не влияет на черное, спасибо вы! – Nim
На самом деле да, 36 будет правильным для 8 уровней. (Я думал о * 17 для 16 уровней) – immibis