5-图像加法运算

​ 在对图像进行操作的过程中,经常会遇到要将两张图像叠加或者混合、融合的情况。使用OpenCV提供的加号运算符**(+)cv2.add()**函数实现对图像不同的叠加效果以及使用 **cv2.addWeighted()**函数对两张图像进行加权和操作。

1.使用加号运算符(+)和 add()函数实现图像的叠加

图片fruits.jpg

python 复制代码
import cv2
# 读取图像,0表示灰度图
a = cv2.imread('images/fruits.jpg', 0)
# 复制图像
b = a
# 加法运算:分别使用加号运算符和函数cv2.add()计算两幅灰度图像的像素值之和
result1 = a + b

result2 = cv2.add(a, b)

# 显示图像:显示原始图original,使用加号运算符计算后的图像result1和,使用函数cv2.add()计算后的图像result2
cv2.imshow('original', a)
cv2.imshow('result1', result1)
cv2.imshow('result2', result2)
cv2.waitKey()
cv2.destroyAllWindows()

2.相关知识解读

1.加号运算符(+)

加号运算的原理就是将两个图像的像素值相加,再将结果处以256取余数。

2.add()函数

(1)知识介绍

add 函数运算的原理就是将两个图像的像素值相加并且结果最大值只能是255

(2)语法格式

函数cv2.add()的语法格式为:

result=cv2.add(a,b)

a,b两个参数都是图像时:参与运算的图像大小和类型必须保持一致

a是数值,b是图像时:将超过图像饱和值的数值处理为饱和值(最大值)

a是图像,b是数值时:将超过图像饱和值的数值处理为饱和值(最大值)

3.使用函数 cv2.addWeighted()实现对两幅图像进行加权混合

python 复制代码
import cv2
# 读入图片,将读取的变量储存在变量a和b中
a = cv2.imread('images/rose.jpg')
b = cv2.imread('images/panda.jpg')

# print(a.shape)
# print(b.shape)
# print(a.size)
# print(b.size)
# 使用函数cv2.addWeighted()对两幅图像进行加权混合,被加权的两个图片必须大小、类型相同。图像的运算可以理解为"result=a*0.6+b*0.4+0"。
result = cv2.addWeighted(a, 0.5, b, 0.5, 0)
# 显示图像a,b和加权混合后的图像result
cv2.imshow("a", a)
cv2.imshow("b", b)
cv2.imshow("result", result)
# 销毁全部窗口
cv2.waitKey()
cv2.destroyAllWindows()

4.知识解读

(1)知识介绍

所谓图像加权和,就是在计算两幅图像的像素值之和时,将每幅图像的权重考虑进来。

OpenCV 中提供了函数cv2.addWeighted(),用来实现图像的加权和(混合、融合)。

(2)语法格式

函数cv2.addWeighted()语法格式为:dst = cv2.addWeighted(src1, alpha,src2, beta,gamma)

其中,参数 alpha和beta是src1和src2所对应的系数,它们的和可以等于1,也可以不等于1。

该函数实现的功能是dst = src1alpha+ src2beta + gamma。

其中,参数 alpha和beta是src1和src2所对应的系数,它们的和可以等于1,也可以不等于1。

该函数实现的功能是dst = src1alpha+ src2beta + gamma。

需要注意,式中参数gamma的值可以是0,但是该参数是必选参数,不能省略。可以将上式理解为"结果图像=图像1系数1+图像2系数2+亮度调节"。

相关推荐
weixin_446260851 分钟前
大语言模型解读、嵌入向量组织、图谱涌现:基于智能体驱动的科学知识编译
人工智能·语言模型·自然语言处理
YOLO数据集集合2 分钟前
珊瑚健康状态检测数据集 | 珊瑚检测 白化监测 海洋生态 水下目标检测9034期
人工智能·目标检测·计算机视觉·珊瑚健康·白化监测·水下目标
HYHYLLLL5 分钟前
【2026年】多模态AI在水务场景的应用
人工智能·深度学习·计算机视觉·水务
腾讯云大数据5 分钟前
AI Native数据湖的Spark+Ray一体化实践
大数据·人工智能·spark·腾讯云·腾讯云大数据
YOLO数据集集合7 分钟前
中国城市建筑功能矢量数据集 | 建筑功能 矢量数据 城市规划 空间分析 Shapefile 多分类 GIS数据集8017期
人工智能·分类·数据挖掘·空间分析·城市规划·中国城市建筑·功能矢量
图特摩斯科技7 分钟前
OntoFlow 本体智能平台在污水处理厂的应用
人工智能·abutiongraph·palantir·ontology·ontoflow
动物园猫12 分钟前
行人与骑行者目标检测数据集:2类别、5,000张图像 | 目标检测
人工智能·目标检测·目标跟踪
像风一样自由202015 分钟前
17.Milvus如何完成一次向量相似度检索
人工智能·postgresql·大模型·milvus·rag·智能体
芒果作者19 分钟前
视频审核助手
人工智能·音视频
CODER030420 分钟前
ubuntu24.04:降内核+显卡驱动+cuda+cudnn+pytorch+anaconda+pycharm
人工智能·pytorch·深度学习·自然语言处理·cuda·ubuntu24.04·降内核