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



@moyo_pochteniye

Добрый день!

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

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

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

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

Все изображения на белом, либо очень светлом фоне


Решения вопроса 0


Ответы на вопрос 2



@ProgrammerForever

Когда в лохматых годах делал программку, и захотел «скины как в WMP», чтобы можно было поменять цвет ползунком и не хранить все скины картинками, воспользовался вот этой статьёй на Википедии
1) Преобразовываем в HSV.
2) Сдвигаем H под нужный цвет.
3) Преобразовываем в RGB.



@MATPOC_HA_TAHKE

Без конкретного примера задания невозможно ничего сказать.
Одно дело иконки-кнопочки навигации перекрашивать или территорию страны на карте. Тем более если уходить в векторную графику. Совсем другое дело фотография какого-нибудь натурального объекта, вот фото кухни (не рендерное, а «живое») — перекрасьте на ней стены, чтоб с холодильником гармонировали. Тут понадобится верстальщик-дизайнер-фотошопер, ручная работа, нейросети пока от такого далеки.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *