Telegram Group & Telegram Channel
Пытался тут на досуге перемапить видео из полноценного rgb в 16 цветов (даже не спрашивайте).

Решил, что я самый умный и не буду это делать через серый цвет, а буду для каждого исходного пикселя искать наиболее близкий цвет из 16 по метрике Евклида:

l = (r1 - r2)² + (g1 - g2)² + (b1 - b2)²

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

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

Однако, мысль, что простыми квадратами я не могу нормально сравнивать цвета никак не ложилась мне в голову. Возможно, людям, которые работают с цветами это очевидно, но мне хотелось прямо наглядно в этом убедиться. Поэтому я смастерил небольшой тул, чтобы визуализировать цвета и смотреть на расстояния между ними.

Прикладываю мою js поделку. Там есть 3 пресета, на которых можно наглядно увидеть, как ошибается метрика. Также там есть рандом и "умный" рандом, который сгенерирует цвета, в которых Евклид будет не прав (почти всегда). Ну и цвета можно руками менять.

https://lll-phill-lll.github.io/colordiff/

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

На скрине из тула видно, что Евклид считает зеленый более близким к оранжевому, чем к кислотно зеленому. (ну надеюсь, что видно, хороший интерфейс я сделать так и не осилил).

В общем, надеюсь интересно будет потыкать на Smart Random и посравнивать свои внутренние ощущение с ощущениями Евклида)

Кстати, интересный цикл статей про цвета и связанную с ними математику: https://samgoree.github.io/2019/07/13/color_theory_2.html



group-telegram.com/misha_writes_code/211
Create:
Last Update:

Пытался тут на досуге перемапить видео из полноценного rgb в 16 цветов (даже не спрашивайте).

Решил, что я самый умный и не буду это делать через серый цвет, а буду для каждого исходного пикселя искать наиболее близкий цвет из 16 по метрике Евклида:


l = (r1 - r2)² + (g1 - g2)² + (b1 - b2)²

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

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

Однако, мысль, что простыми квадратами я не могу нормально сравнивать цвета никак не ложилась мне в голову. Возможно, людям, которые работают с цветами это очевидно, но мне хотелось прямо наглядно в этом убедиться. Поэтому я смастерил небольшой тул, чтобы визуализировать цвета и смотреть на расстояния между ними.

Прикладываю мою js поделку. Там есть 3 пресета, на которых можно наглядно увидеть, как ошибается метрика. Также там есть рандом и "умный" рандом, который сгенерирует цвета, в которых Евклид будет не прав (почти всегда). Ну и цвета можно руками менять.

https://lll-phill-lll.github.io/colordiff/

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

На скрине из тула видно, что Евклид считает зеленый более близким к оранжевому, чем к кислотно зеленому. (ну надеюсь, что видно, хороший интерфейс я сделать так и не осилил).

В общем, надеюсь интересно будет потыкать на Smart Random и посравнивать свои внутренние ощущение с ощущениями Евклида)

Кстати, интересный цикл статей про цвета и связанную с ними математику: https://samgoree.github.io/2019/07/13/color_theory_2.html

BY Миша пишет код




Share with your friend now:
group-telegram.com/misha_writes_code/211

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Asked about its stance on disinformation, Telegram spokesperson Remi Vaughn told AFP: "As noted by our CEO, the sheer volume of information being shared on channels makes it extremely difficult to verify, so it's important that users double-check what they read." Oleksandra Matviichuk, a Kyiv-based lawyer and head of the Center for Civil Liberties, called Durov’s position "very weak," and urged concrete improvements. "He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. Pavel Durov, a billionaire who embraces an all-black wardrobe and is often compared to the character Neo from "the Matrix," funds Telegram through his personal wealth and debt financing. And despite being one of the world's most popular tech companies, Telegram reportedly has only about 30 employees who defer to Durov for most major decisions about the platform. Meanwhile, a completely redesigned attachment menu appears when sending multiple photos or vides. Users can tap "X selected" (X being the number of items) at the top of the panel to preview how the album will look in the chat when it's sent, as well as rearrange or remove selected media.
from hk


Telegram Миша пишет код
FROM American