Как поместить изображение на футболку с помощью Python OpenCV

#python #image #opencv #image-processing

#python #изображение #opencv #обработка изображений

Вопрос:

Я пытаюсь поместить любое пользовательское изображение на пустую футболку, как показано ниже

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

Я использую CV2 на Python. Есть идеи, как это можно сделать? Я думаю, что cv2.inRange может указать мне на белую футболку, а затем я мог бы изменить размер изображения, чтобы оно соответствовало рубашке, но я не уверен, как сохранить эффекты тени и морщин. Может быть, с определением границ?

Ответ №1:

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

OpenCV имеет некоторую ограниченную поддержку смешивания, но я бы предложил сформулировать расчет самостоятельно. статья в Википедии должна помочь. для умножения я бы преобразовал оба изображения в CV_32F, увеличил их на 1/255 (так что диапазон равен 0.0 .. 1.0), а затем просто умножил их поэлементно.

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

умножьте смешивание, используя логотип SO с белым фоном на картинке из pxhere.com

обнаружение границ здесь вообще не применимо.