Задать вопрос
@mcjohnyx
Чел..

Есть ли формула или метод для определения противоположного цвета?

Всем привет.
Пишу программу для работы с изображением.
Программа принимает изображение и путем алгоритма k-средних находит часто встречаемый цвет(запоминает значение цвета в rgb). А дальше с помощью формулы или метода или даже какого-то алгоритма он должен определить противоположный цвет данному цвету, чтобы потом написанный текст был хорошо виден. Какие будут ваши предположения?
*Не надо предлагать всякие схемы и т.п. Мне нужно чтобы программа сама определяла цвет.
Вот примеры противоположных цветов:
Первая пара (0, 181, 68) и (250, 43, 0)
plain-00B544.svgplain-FA2B00.svg
Вторая пара (250, 118, 0) и (2, 139, 152)
plain-FA7600.svgplain-028B98.svg

Ну вы поняли.

Можете даже написать свои наработки хоть на каком языке. Мне важна суть.
Заранее спасибо
  • Вопрос задан
  • 1686 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Для нахождения противоположного цвета можно поступить так:
- преобразовать значения RGB в цветовую модель HSL
- значение H развернуть на 180 градусов (если H < 180, то прибавить 180, если H > 180, то отнять)
- преобразовать обратно в модель RGB.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Вот ресурс: https://colorscheme.ru/
Там смотите исходник на JS и всё.
Ответ написан
Комментировать
dom1n1k
@dom1n1k
Как только вы скажете/выясните, по какому принципу вы назвали приведенные цвета противоположными, то сразу станет легко найти его реализацию в коде.
Ответ написан
Комментировать
@medved443
Другой пример — этот цвет: RGB(255, 182, 193). Это светло-розовый. Чтобы получить инвертированный цвет, мы сначала вычитаем красную часть из 255, что дает 0. Чтобы получить зеленую часть, мы вычитаем 182 из 255, что дает 73. Чтобы получить синюю часть, мы вычитаем 193 из 255, что дает 62. Таким образом, новый инвертированный цвет — RGB(0, 73, 62), что является своего рода зелено-синим цветом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы