Упрощение цветов на холсте

Моя конечная цель состоит в том, чтобы иметь две версии изображения, первая из которых является базовым изображением по умолчанию, но вторая должна быть упрощенной версией первой, использующей только основные цвета.

Я хотел бы изменить все диапазоны красного, например, на (255, 0, 0), Я попытался вручную добавить в диапазоны красного, но только для этого одного цвета было около 20 различных утверждений. Я хотел бы знать, как кто-нибудь будет делать это. Я рассмотрел квантование цвета, и это кажется довольно актуальным и полезным.

Вот пример того, что я хотел бы сделать:

Цвета упрощены

Любая помощь будет оценена.

1 ответ

Я считаю, что нашел подходящий ответ на свой вопрос.

Я решил свой вопрос, рассчитав "цветовое расстояние" каждого пикселя. Затем я перебираю цвета по умолчанию и сравниваю расстояние для каждого из них. Затем я проверяю, какое "расстояние" является самым низким. Цвет, который является самым близким к моему цвету по умолчанию, является самым близким соответствием.

Уравнение, которое я использовал для расчета цветового расстояния, было следующим:

Math.sqrt( Math.pow((r1 - r2), 2) + Math.pow((g1 - g2), 2) + Math.pow((b1 - b2), 2));

- Спасибо Амадану за подсказку о цветовом квантовании.

Другие вопросы по тегам