我有一个简单的量化函数
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;
}
它所做的是将颜色减少到较低细节的颜色,然后将其扩展,这人为地限制了托盘,我将它用于抖动过滤器,通过该功能的图像产生这个
结果这几乎是完美的,除了白色被减少为灰色,我理解原因是我在算法中划分颜色的地板,但我不知道如何解决这个问题,任何建议将不胜感激