栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【OpenCV 完整例程】15. 图像的加权加法(cv2.addWeight)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【OpenCV 完整例程】15. 图像的加权加法(cv2.addWeight)

15. 图像的加权加法(cv2.addWeight)

函数 cv2.addWeight() 用于图像的加权加法运算。

函数说明:

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

函数 cv2.addWeighted() 对两张相同大小和类型的图像按权重相加,可以实现图像的叠加和混合。加权加法的计算表达式为:

dst = src1 * alpha + src2 * beta + gamma

参数说明:

  • scr1, scr2:ndarray 多维数组,表示一个灰度或彩色图像
  • alpha:第一张图像 scr1 的权重,通常取为 0~1 之间的浮点数
  • beta:第二张图像 scr2 的权重,通常取为 0~1 之间的浮点数
  • gamma: 灰度系数,图像校正的偏移量,用于调节亮度
  • dtype 输出图像的深度,即每个像素值的位数,可选项,默认等于 src1.depth()
  • 返回值:dst,加权加法运算结果的图像数组

注意事项:

  1. 使用 cv2.addWeight() 函数对两张图片相加时,图片的大小和类型(通道数)必须相同。
  2. alpha,beta,gamma 可调,可以根据需要调整图像的权重,以达到不同的显示效果。推荐取 beta=1-alpha, gamma=0。

基本例程:1.24 图像的混合(加权加法)
    # 1.24 图像的混合(加权加法)
    img1 = cv2.imread("../images/imgGaia.tif")  # 读取图像 imgGaia
    img2 = cv2.imread("../images/imgLena.tif")  # 读取图像 imgLena

    imgAddW1 = cv2.addWeighted(img1, 0.2, img2, 0.8, 0)  # 加权相加, a=0.2, b=0.8
    imgAddW2 = cv2.addWeighted(img1, 0.5, img2, 0.5, 0)  # 加权相加, a=0.5, b=0.5
    imgAddW3 = cv2.addWeighted(img1, 0.8, img2, 0.2, 0)  # 加权相加, a=0.8, b=0.2

    plt.subplot(131), plt.title("1. a=0.2, b=0.8"), plt.axis('off')
    plt.imshow(cv2.cvtColor(imgAddW1, cv2.COLOR_BGR2RGB))  # 显示 img1(RGB)
    plt.subplot(132), plt.title("2. a=0.5, b=0.5"), plt.axis('off')
    plt.imshow(cv2.cvtColor(imgAddW2, cv2.COLOR_BGR2RGB))  # 显示 imgAddV(RGB)
    plt.subplot(133), plt.title("3. a=0.8, b=0.2"), plt.axis('off')
    plt.imshow(cv2.cvtColor(imgAddW3, cv2.COLOR_BGR2RGB))  # 显示 imgAddS(RGB)
    plt.show()

本例程运行结果如下:


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444574.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号