原理
これは実際には足し算ですが、違いは 2 つの画像の重みが異なることです。これにより、人々は混合または透明感を感じます。
画像ブレンドの計算式は次のとおりです。
g(x)=(1-a)f0(x) + af1(x)
α の値を変更 (0→1) することにより、非常にクールな混合を実現できます。
次に、2 つの画像をブレンドします。
最初のイメージの重みは 0.2、2 番目のイメージの重みは 0.3 です。関数
cv2.addWeighted()
以下の計算式に従って画像をブレンドできます。
dst = a img1 + B img2+y
ここで、y はゼロとみなされます。
コード
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
#读取图像
img1 = cv.imread("lena.png")
img2 = cv.imread('lena_saved.png')
#图像的混合
img3 = cv.addWeighted(img1,0.2,img2,0.3,0)
#图像的显示
plt.figure(figsize=(4,4))
plt.imshow(img3[:,:,::-1])
plt.title("混合图像")
plt.show()