请选择 进入手机版 | 继续访问电脑版

[python] 超详细 表明 之OpenCV构建透明的叠加层

[复制链接]
查看104 | 回复21 | 2021-9-13 12:25:17 | 显示全部楼层 |阅读模式

为了构造透明的叠加层,必要 准备 两个图像:

(1)原始图片;

(2)要 “叠加”在第一个图像上的图像(包含某种级别的Alpha透明度)。

透明叠加层的用例几乎无穷无尽,此中 俩个是:

  • 可以将运行时的告急 信息直接覆盖在输出图像上,而不是在单独的窗口或终端中表现 。利用 透明的叠加层可以减少混淆输出图像内容的必要 !
  • 利用 Alpha透明度,将两个图像“融合”在一起。

利用 cv2.addWeighted应用透明叠加层功能

cv2.addWeighted(overlay, alpha, output, 1 - alpha, 0, output)

  • –overlay: 我们要应用的叠加层图像
  • –cv2.addWeighted(overlay, alpha, output, 1 - alpha, 0, output)
  • –alpha: 叠加层的实际 Alpha透明度,alpha越靠近 1,图像越不透明;alpha越靠近 0,叠加层表现 得越透明;
  • –output: 原始图像
  • –beta: Beta定义为1-alpha 。我们必要 定义alpha + beta = 1.0
  • gamma: 伽玛值-加到加权和的标量。可以将gamma视为应用加权加法后添加到输出图像的常数。将其设置为零,表示不必要 应用恒定值的加法运算。
  • –output: 终极 的效果 ,输出图像

效果 图:

在这里插入图片形貌

  1. # USAGE
  2. # python overlay.py
  3. # 导入必要的包
  4. from __future__ import print_function
  5. import numpy as np
  6. import cv2
  7. import imutils
  8. # 加载图像
  9. image = cv2.imread("../image/flower4.jpg")
  10. image = imutils.resize(image, width=600)
  11. cv2.imshow("origin", image)
  12. cv2.waitKey(0)
  13. # 循环遍历 [0,1.0] 的透明度
  14. for alpha in np.arange(0, 1.1, 0.1)[::-1]:
  15. # 创建俩个原始图的拷贝
  16. # 一个用于构建叠加层 一个用于输出图像
  17. overlay = image.copy()
  18. output = image.copy()
  19. # 在左上角 添加文本: PyimageSerach:alpha
  20. # 在右下角画一个矩形的红色框
  21. cv2.rectangle(overlay, (150, 210), (500, 630),
  22. (0, 0, 255), -1)
  23. cv2.putText(overlay, "PyImageSearch: alpha={:.2f}".format(alpha),
  24. (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255), 3)
  25. # 使用cv2.addWeighted应用透明叠加层功能
  26. # overlay: 我们要应用的叠加层图像
  27. # alpha: 叠加层的实际Alpha透明度,alpha越接近1,图像越不透明;alpha越接近0,叠加层显示得越透明;
  28. # output: 原始图像
  29. # beta: 我们提供beta值作为第四个参数。 Beta定义为1-alpha 。我们需要定义alpha和beta,以便alpha + beta = 1.0
  30. # gamma: 伽玛值-加到加权和的标量。您可以将gamma视为应用加权加法后添加到输出图像的常数。在这种情况下,我们将其设置为零,因为我们不需要应用恒定值的加法运算。
  31. # output: 输出图像
  32. cv2.addWeighted(overlay, alpha, output, 1 - alpha,
  33. 0, output)
  34. # 展示输出图像,alpha,beta
  35. print("alpha={:.2f}, beta={:.2f}".format(alpha, 1 - alpha))
  36. cv2.imshow("Output", output)
  37. cv2.waitKey(0)
  38. cv2.destroyAllWindows()
复制代码

参考:

https://www.pyimagesearch.com/2016/03/07/transparent-overlays-with-opencv/

到此这篇关于超具体 解释 之OpenCV构建透明的叠加层的文章就先容 到这了,更多相干 OpenCV构建叠加层内容请搜刮 脚本之家从前 的文章或继续欣赏 下面的相干 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,他卖的服务器是永久的,我们的网站用 服务器都是在这家买的,你可以去试试。访问地址:http://fwq.mxswl.com
回复

使用道具 举报

avatar 成圣 | 2021-9-20 16:41:48 | 显示全部楼层
不错哦,admin楼主这是要火的节奏啊!
回复

使用道具 举报

avatar 一品菊花茶酪 | 2021-9-26 23:51:21 | 显示全部楼层
脑残片admin楼主今天吃了么?
回复

使用道具 举报

avatar 掌舵的鱼1987 | 2021-9-30 08:26:55 | 显示全部楼层
坚持回帖!
回复

使用道具 举报

avatar 莫言941 | 2021-10-4 15:09:42 | 显示全部楼层
不错的帖子,值得收藏!
回复

使用道具 举报

avatar 空城乱人心乱 | 2021-10-4 15:57:40 | 显示全部楼层
很多天不上线,一上线就看到这么给力的帖子!
回复

使用道具 举报

avatar 找食的麻雀粮 | 2021-10-5 08:39:09 | 显示全部楼层
收藏了,怕admin楼主删了!
回复

使用道具 举报

avatar 易网随缘倚 | 2021-10-12 06:30:44 | 显示全部楼层
admin楼主是好人!
回复

使用道具 举报

avatar Runlinh | 2021-10-12 07:01:25 | 显示全部楼层
回帖也有有水平的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则