Итак, у меня есть массив пикселей (формат RGB8), который мне нужно преобразовать в индексированный формат. Я уже рассчитал цветовую палитру, которую хочу использовать:
RGBColor rgbPalette[256];
for (int i = 1; i <= 85; i++)
{
rgbPalette[i].R = ((86 - i) * 255) / 85;
rgbPalette[i + 85].G = ((86 - i) * 255) / 85;
rgbPalette[i + 170].B = ((86 - i) * 255) / 85;
}
Теперь я просто не понимаю, как взять пиксели из моего изображения и рассчитать расстояние каждого из этих пикселей из моей цветовой палитры.
Я использую библиотеку изображений ImageMagick. Я знаю, что они предоставляют функции квантования, но мне нужно «принудить» эту палитру к изображению, а AFAIK ImageMagick не предоставляет никаких функций для этого.
Спасибо за вашу помощь.