图像融合

不是简单的加法,相当于拿图片做了线性运算
new_img = img1w1+img2w2+bias
cv2.addWeighted(src1,alpha,src2,beta,gamma)

  • src1:第一张图片
  • alpha:第一张图片的权重
  • src2:第二张图片
  • beta:第二张图片的权重,没有要求两个权重加起来是1,但1的效果要好一点
  • gamma:偏差b,可以理解为调节明亮度

同样的,在进行融合的时候,也要保证两张图片的尺寸一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Opencv学习
@File :图像融合.py
@IDE :PyCharm
@Author :咋
@Date :2023/1/12 20:23
"""
import cv2
image = cv2.imread("image.jpg")
test = cv2.imread("Handsome.jpg")
print(image.shape)
print(test.shape)
# 图片分割
test = test[:800,:1200] # 这里写死了,实际可以定义一个函数去判断,然后去修改值
image = image[:800,:1200] # 这里写死了,实际可以定义一个函数去判断,然后去修改值
add_weight_image = cv2.addWeighted(test,0.3,image,1,0)
cv2.imshow("dig_imag",add_weight_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

image.png