OpenCV实现图像的混合

原理

这其实也是加法,但是不同的是两幅图像的权重不同,这就会给人一种混合或者透明的感觉。

图像混合的计算公式如下:

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 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()

效果展示

OpenCV实现图像的混合_第1张图片

你可能感兴趣的:(OpenCV从入门到精通,opencv,人工智能,计算机视觉,python)