python opencv 图像叠加_opencv中图像叠加/图像融合/按位操作的实现

一、图像叠加:cv2.add

res=cv2.add(img1, img2) 或者res=cv2.add(img1, 标量值)

参数说明: cv2.add将两个图片对应位置的像素的值相加,或者将每个像素的值加上一个标量值,大于255的像素值就设置成255。

有一点需要注意的是,如果是两张图片相加,那么一定要注意两者的尺寸和通道数必须是一样的;如果是标量值,这个值既可以是整数也可以是浮点数,加合适的标量值一般是为了提高亮度。

import cv2

img1 = cv2.imread('1.jpg')

img2 = cv2.imread('2.jpg')

print(img1.shape)

print(img2.shape)

#输出: (1039, 750, 3)

#(1050, 700, 3)

img2.resize((img1.shape[0],img1.shape[1],3))

print(img2.shape)

#输出:(1039, 750, 3)

res=cv2.add(img1,img2)#或者res=cv2.add(img1,10)

上面说了,cv2.add会把超过255的值设置为255,但是numpy里的加法进行的是模运算,请看下面的例子:

import cv2

import numpy as np

x = np.uint8([250])

y = np.uint8([10])

print( cv2.add(x,y) ) # 250&

你可能感兴趣的:(python,opencv,图像叠加)