Opencv python Добавить прозрачное изображение на другое изображение - PullRequest
0 голосов
/ 01 мая 2018

Я хочу добавить прозрачное изображение, как ткань, на части тела человека. Я сделал часть, как, где положить эту ткань. Я также рассчитал баллы, но основная часть заключается в том, как разместить прозрачное изображение на моем изображении человеческого тела. Кто-нибудь знает простой код Python для размещения прозрачного изображения на другом изображении. пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 01 мая 2018

Это довольно легко сделать с помощью функции addWeighted ()

Вот учебник - https://www.pyimagesearch.com/2016/03/07/transparent-overlays-with-opencv/

Соответствующий фрагмент кода:

# apply the overlay
cv2.addWeighted(overlay, alpha, output, 1 - alpha,
    0, output)

С аргументами, описываемыми как:

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

Второй параметр - это фактическая альфа-прозрачность наложения. Чем ближе альфа к 1,0, тем более непрозрачным будет оверлей. Аналогично, чем ближе значение альфа к 0,0, тем более прозрачным появится наложение.

Третий аргумент cv2.addWeighted - исходное изображение - в этом случае, оригинальное изображение загружено с диска.

Мы предоставляем бета-значение в качестве четвертого аргумента. Бета определяется как 1 - альфа. Нам нужно определить альфа и бета так, чтобы альфа + бета = 1,0.

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

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

...