码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 001 opencv addWeighted


    目录

    一、环境

    二、addWeighted函数

    三、代码演示


    一、环境

    本文使用环境为:

    • Windows10
    • Python 3.9.17
    • opencv-python 4.8.0.74

    二、addWeighted函数

    OpenCV中的cv.addWeighted函数是一个用于图像叠加的函数,它可以将两个具有相同尺寸和类型的图像按照指定的权重进行加权叠加。这个函数的主要作用是将两个图像融合在一起,以实现特定的视觉效果。

    函数原型如下:

    cv2.addWeighted(src1, alpha, src2, beta, gamma)
    

    参数说明:

    • src1:第一个输入图像,可以是任意大小和类型。
    • alpha:第一个输入图像的权重,范围为0到1。alpha越大,第一个输入图像在结果中所占的比重越大。
    • src2:第二个输入图像,与src1具有相同的尺寸和类型。
    • beta:第二个输入图像的权重,范围为0到1。beta越大,第二个输入图像在结果中所占的比重越大。
    • gamma:可选参数,用于调整输出图像的亮度。默认值为0。

    返回值:

    • dst:加权叠加后的输出图像,与输入图像具有相同的尺寸和类型。

    三、代码演示

    给定两张图片:

    完整代码,注意执行代码后,需要在bash窗口输入一个0-1之间的小数:

    1. from __future__ import print_function
    2. import cv2 as cv
    3. # opencv-python 4.8.0.74
    4. alpha = 0.5
    5. try:
    6. raw_input # Python 2
    7. except NameError:
    8. raw_input = input # Python 3
    9. print(''' Simple Linear Blender
    10. -----------------------
    11. * Enter alpha [0.0-1.0]: ''')
    12. input_alpha = float(raw_input().strip())
    13. if 0 <= alpha <= 1:
    14. alpha = input_alpha
    15. # 读取图片
    16. src1 = cv.imread(cv.samples.findFile('LinuxLogo.jpg'))
    17. src2 = cv.imread(cv.samples.findFile('WindowsLogo.jpg'))
    18. # 判断是否正常读取
    19. if src1 is None:
    20. print("Error loading src1")
    21. exit(-1)
    22. elif src2 is None:
    23. print("Error loading src2")
    24. exit(-1)
    25. # 渲染图片
    26. beta = (1.0 - alpha)
    27. dst = cv.addWeighted(src1, alpha, src2, beta, 0.0)
    28. # 显示
    29. cv.imshow('dst', dst)
    30. cv.waitKey(0)
    31. # 释放窗口
    32. cv.destroyAllWindows()

    如下图是我输入0.5的效果图:

  • 相关阅读:
    盘点市面上七款好用的代码加密混淆工具,你都用过哪款?
    Day44——MySQL表查询关键字
    Java Jdbc处理char 字段
    【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
    硬件测试(一):温循
    [车联网安全自学篇] 五十三. Android安全之APK备份文件敏感信息挖掘
    AIE荧光分子杂化介孔二氧化硅杂化纳米微球/聚合诱导微米级多孔SiO2微球
    单细胞流程 安装conda 下载基因组数据 然后走cellranger 流程得到10x数据
    数据化运营18 营收:如何通过交叉营销提升用户营收贡献?
    tsf consul单独使用,可以在tsf部署不
  • 原文地址:https://blog.csdn.net/m0_72734364/article/details/134433189
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号