图像的叠加实际上就是对图像的高度、宽度和颜色通道数进行简单的加法操作。在OpenCV中,我们使用add(src1,src2,dst=None,mask=None,dtype=None)函数来实现图像的叠加
import cv2 import numpy as np import random img = cv2.imread("500x400.jpg",1) img1 = cv2.imread("tuzi500x400.jpg",1) cv2.imshow('img',img) cv2.imshow('img1',img1) dst=cv2.add(img,img1) ''' 参数1 参数2 待叠加的两个图像,两个图像的大小,通道数必须一致 ''' cv2.imshow('dst',dst) cv2.waitKey()
效果图:
可以看到,经过add()函数叠加后的图像好多地方都偏向于白色(255,255,255)。这是因为,当颜色通道数进行相加的时候,叠加结果会让颜色通道数接近255(白色)。例如原像素值为(200,155,188)和(100,55,88)的两个像素值经过add()函数叠加后变成了(255,210,255)(注意,颜色通道值最大为255,叠加超过255会自动变成255)。