Алгоритм конвертирования 24-битного пикселя в 8-битный с цветом из палитры регистров VGA

Здpaвcтвyйтe, я ищу способ(алгоритм) конвертирования ~16,8 миллионов цветов 24-битного изображения в 256 цветов палитры регистров VGA(https://i.stack.imgur.com/gbgZD.png). Какие есть алгоритмы для этого?


Ответы (1 шт):

Автор решения: MBo

Поскольку палитра задана, то для каждого пиксела полноцветного изображения ищете наиболее близкий цвет в палитре VGA, и используете найденный индекс.

Для этого можно использовать, например метрику квадрата расстояния в RGB-пространстве

sqd = (pixel.r - palette[i].r)^2 + 
      (pixel.g - palette[i].g)^2 + 
      (pixel.b - palette[i].b)^2
→ Ссылка