Изменение цвета объекта без ущерба для текстуры

#c# #image-processing #colors #computer-vision #image-segmentation

#c# #обработка изображений #Цвет #компьютерное зрение #изображение-сегментация

Вопрос:

Моя цель — изменить цвет объекта, не повреждая текстуру. Насколько я понимаю, больше похоже на изменение оттенка и насыщенности или изменение значений цветовых каналов RGB. Используя threshold, я могу изолировать объект, но мне трудно понять, как применить изменения цвета к объекту.

введите описание изображения здесь

введите описание изображения здесь

Ответ №1:

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

введите описание изображения здесь

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