@moyo_pochteniye

Как можно реализовать покраску изображения?

Добрый день!

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

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

Искать доминантый цвет - тоже не вариант, т.к. тот же opencv находит предположим желтый, а их там 100 оттенков, соответственно он красит только часть.

Как идея, конвертировать все изображения в векторную графику, тогда красить его уже будет легче, но доминант так и не подойдет, т.к. там может быть 3-4-5-6-7-... оттенков.

Все изображения на белом, либо очень светлом фоне
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
Когда в лохматых годах делал программку, и захотел "скины как в WMP", чтобы можно было поменять цвет ползунком и не хранить все скины картинками, воспользовался вот этой статьёй на Википедии
1) Преобразовываем в HSV.
2) Сдвигаем H под нужный цвет.
3) Преобразовываем в RGB.
Ответ написан
Комментировать
@MATPOC_HA_TAHKE
Без конкретного примера задания невозможно ничего сказать.
Одно дело иконки-кнопочки навигации перекрашивать или территорию страны на карте. Тем более если уходить в векторную графику. Совсем другое дело фотография какого-нибудь натурального объекта, вот фото кухни (не рендерное, а "живое") - перекрасьте на ней стены, чтоб с холодильником гармонировали. Тут понадобится верстальщик-дизайнер-фотошопер, ручная работа, нейросети пока от такого далеки.

Покажите пример. Инструментов существует множество, но универсальных нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы