在使用opencv制作图像透明遮盖(掩膜)的时候,发现使用PPT保存的png图片不是透明的,带有的颜色会遮住背景。
输出图像后发现,ppt保存的png图片中,透明区域的三通道像素为129,129,129,导致不能透明,使用opencv处理:

 img = cv2.imread('test.png', cv2.IMREAD_UNCHANGED)#修改ppt保存的图片为透明色print(img,img.shape)for i in range(img.shape[0]):for j in range(img.shape[1]):p=img[i][j]if p[0] == 129 and p[1]==129 and p[2]==129:p[3]=0cv2.imwrite('test_new.png',img)

顺便附上图像叠加的代码,前景透明LOGO:

 img1 = cv2.imread('背景图.jpg')img2 = cv2.imread('前景.png')rows, cols = img2.shape[:2]roi = img1[:rows, :cols]# 创建掩膜img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)ret, mask = cv2.threshold(img2gray, 10, 255, cv2.THRESH_BINARY)mask_inv = cv2.bitwise_not(mask)# 保留除前景外的背景img1_bg = cv2.bitwise_and(roi, roi, mask=mask_inv)dst = cv2.add(img1_bg, img2)  # 进行覆盖# 融合后放在原图上cv2.imshow('img_add',dst)cv2.waitKey()cv2.destroyAllWindows()

使用Python Opencv解决PPT保存的PNG不透明问题相关推荐

  1. Python matplotlib 画并保存 部分背景为透明的图

    Python matplotlib 画并保存 部分背景为透明的图 方法1 方法2 效果 部分背景为透明的图可以满足多种需求,比如在网页的彩色背景上显示绘图非常有用.根据matplotlib的官方文档, ...

  2. python + opencv: 解决不能读取视频的问题

    博主一开始使用python2.7和Opencv2.4.10来获取摄像头图像,程序如下: cap = cv2.VideoCapture(0) ret, frame = cap.read() 使用这个程序 ...

  3. Python+Opencv:解决打开摄像头慢的问题,现在秒开视频

    前言:打开摄像头非常慢,大概需要5-11秒才能输出视频,这个问题困扰了我很久,一直没得到解决.今天终于得到解决,实现了秒开,值得记录和庆贺一下. 1.我的开发环境(不同的开发环境可能不会遇到我这样的问 ...

  4. python opencv 读取视频保存视频片段和图片

    video4.avi为保存的视频名字 # -*- coding: utf-8 -*- """ Spyder EditorThis is a temporary scrip ...

  5. Python OpenCV显示图像并保存图像

    源码如下: import numpy as np import cv2 img = cv2.imread('lena.jpg',0) cv2.imshow('image',img) k = cv2.w ...

  6. 使用python opencv批量对贴图进行除透明边并压缩

    import glob import cv2def access_pixels(file, frame):print(frame.shape) # shape内包含三个元素:按顺序为高.宽.通道数he ...

  7. Python+Opencv:在视频上叠加一个背景透明Logo

    前言:看电视节目时,电视台都会把打在视频上,大多数视频Logo背景都是固定不便的,但有些做得好的效果是,Logo背后的视频是随节目内容实时变化的.这到底怎么实现的呢? 经过实践,我也搞了一个Logo背 ...

  8. 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题

    解决Python OpenCV 读取视频抽帧出现error while decoding的问题 1. 问题 2. 解决 3. 源代码 参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下: [ ...

  9. python opencv打开摄像头,截图保存

    python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...

最新文章

  1. 【软件开发底层知识修炼】十一 链接器-链接脚本
  2. Linux实验五:Linux环境下的C语言编程
  3. vue动态设置文字布局方式_十大惊人的文字动画特效
  4. 电控 应用层开发 学习_阿里巴巴如何改善开发人员在 K8s 上的体验?
  5. ORACLE 索引的三种状态: VALID、 N/A 、UNUSABLE
  6. Youzi2D推出开源HTML5游戏加速引擎
  7. 什么是IEC球压测试?
  8. vue echarts 柱状图
  9. js将两张图片合成一张图片
  10. chessbase(ChessBase Mega)
  11. excel多工作表汇总如何完成?
  12. 一套Java架构开发的电商系统要多少钱
  13. 批量下载人像图片的技巧,POCO相册图片如何下载的方法
  14. html设置ie9兼容性视图,ie9浏览器设置兼容性视图在哪里设置
  15. 耀世升级,第三版Java多线程核心技术手册,成长之路必不可少
  16. 阿里云SLB之:基于TCP协议的SLB应用场景(十)
  17. 出名的网络IT技术更新网站导航整理
  18. [ Python ] 常用类库学习之 tabulate
  19. 优化核心思想(1):分迭
  20. tm4c123g c语言,TI 推出 Tiva C 系列 TM4C123G USB+CAN 开发套件

热门文章

  1. 信息论的产生与发展概况
  2. 详解 AMBA APB 5.0 最新标准协议(1)引言
  3. 谈谈ZGC_分区垃圾回收器
  4. 华硕天选3锐龙版和酷睿版哪个好
  5. 2018新华三论剑|72小时全民召集王牌侦探,等你来战
  6. 台式计算机与蓝牙音箱有,台式电脑可以连接蓝牙音响吗
  7. Chrome 远程桌面
  8. 迷之RxJava —— 线程切换
  9. Android通讯录管理(获取联系人 通话记录 短信消息)(一)
  10. FPGA SDRAM接口设计(三)设计实现