Вы можете добавить или смешать два изображения, используя opencv с помощью метода cv2.addWeighted().
Синтаксис
Ниже приводится синтаксис функции addWeighted().
dst = cv.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])
Где, src1 и src2 – входные массивы изображений, а alpha, beta – соответствующие веса, которые следует учитывать при выполнении взвешенного сложения, gamma – это статический вес, который будет добавлен ко всем пикселям изображения.
Функция возвращает массив numpy, содержащий значения пикселей результирующего изображения.
На уровне пикселей addWeighted() выполняет следующую операцию.
dst = scr1*alpha + scr2*beta + gamma
Пример 1
В следующем примере мы возьмем два изображения и сложим их вместе с альфа и бета 0,5.
import cv2
# read two images
src1 = cv2.imread('image1.png', cv2.IMREAD_COLOR)
src2 = cv2.imread('image2.png', cv2.IMREAD_COLOR)
# add or blend the images
dst = cv2.addWeighted(src1, 0.5, src2, 0.5, 0.0)
# save the output image
cv2.imwrite('image.png', dst)



Поскольку мы присвоили каждому изображению вес 0,5, выходные изображения выглядят тусклыми или затемненными. В следующем примере мы попробуем с разными весами.
Пример 2: смешивание с разным весом
В этом примере мы будем использовать те же входные изображения, что и в предыдущем примере, но с другим весом альфа = 1 и бета = 1.
import cv2
# read two images
src1 = cv2.imread('image1.png', cv2.IMREAD_COLOR)
src2 = cv2.imread('image2.png', cv2.IMREAD_COLOR)
# add or blend the images
dst = cv2.addWeighted(src1, 1, src2, 1, 0.0)
# save the output image
cv2.imwrite('image.png', dst)

Обратите внимание на различия между выходными изображениями в этом и предыдущем примерах.
Заключение
В этом учебнике OpenCV по примерам Python мы узнали, как добавить или смешать два изображения с помощью библиотеки OpenCV с помощью примеров программ.