opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)

API

cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) → dst.

其中,alphasrc1 透明度,betasrc2 透明度.

效果图

原图

底板图案 elegent.jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第1张图片

上层图案 lena.jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第2张图片

叠加效果

(2:8)叠加图案 overlap(2:8).jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第3张图片

(3:7)叠加图案 overlap(3:7).jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第4张图片

(5:5)叠加图案 overlap(5:5).jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第5张图片

(7:3)叠加图案 overlap(7:3).jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第6张图片

(8:2)叠加图案 overlap(8:2).jpg :
opencv: 图片 设置 透明度 并 叠加(cv2.addWeighted)_第7张图片

Code

附上自己写的实验代码:

# coding=utf-8

# 底板图案
bottom_pic = 'elegent.jpg'
# 上层图案
top_pic = 'lena.jpg'

import cv2
bottom = cv2.imread(bottom_pic)
top = cv2.imread(top_pic)
# 权重越大,透明度越低
overlapping = cv2.addWeighted(bottom, 0.8, top, 0.2, 0)
# 保存叠加后的图片
cv2.imwrite('overlap(8:2).jpg', overlapping)

你可能感兴趣的:(OpenCV,OpenCV-Python)