Упрощение цветов на холсте - PullRequest
0 голосов
/ 21 ноября 2018

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

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

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

Colors simplified

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 21 ноября 2018

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

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

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

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

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

...