Упрощение цветов на холсте
Моя конечная цель состоит в том, чтобы иметь две версии изображения, первая из которых является базовым изображением по умолчанию, но вторая должна быть упрощенной версией первой, использующей только основные цвета.
Я хотел бы изменить все диапазоны красного, например, на (255, 0, 0)
, Я попытался вручную добавить в диапазоны красного, но только для этого одного цвета было около 20 различных утверждений. Я хотел бы знать, как кто-нибудь будет делать это. Я рассмотрел квантование цвета, и это кажется довольно актуальным и полезным.
Вот пример того, что я хотел бы сделать:
Любая помощь будет оценена.
1 ответ
Я считаю, что нашел подходящий ответ на свой вопрос.
Я решил свой вопрос, рассчитав "цветовое расстояние" каждого пикселя. Затем я перебираю цвета по умолчанию и сравниваю расстояние для каждого из них. Затем я проверяю, какое "расстояние" является самым низким. Цвет, который является самым близким к моему цвету по умолчанию, является самым близким соответствием.
Уравнение, которое я использовал для расчета цветового расстояния, было следующим:
Math.sqrt( Math.pow((r1 - r2), 2) + Math.pow((g1 - g2), 2) + Math.pow((b1 - b2), 2));
- Спасибо Амадану за подсказку о цветовом квантовании.