原理
这其实也是加法,但是不同的是两幅图像的权重不同,这就会给人一种混合或者透明的感觉。
图像混合的计算公式如下:
g(x)=(1-a)f0(x) + af1(x)
通过修改α的值(0→1) ,可以实现非常炫酷的混合。
现在我们把两幅图混合在一起。
第一幅图的权重是0.2,第二幅图的权重是0.3。函数
cv2.addWeighted()
可以按下面的公式对图片进行混合操作。
dst = aimg1 + Bimg2+y
这里y取为零。
代码实现
import numpy as np
import cv2 as cv
import matplotlib.pyplot as pltfrom 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()