使用Python Opencv解决PPT保存的PNG不透明问题
在使用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不透明问题相关推荐
- Python matplotlib 画并保存 部分背景为透明的图
Python matplotlib 画并保存 部分背景为透明的图 方法1 方法2 效果 部分背景为透明的图可以满足多种需求,比如在网页的彩色背景上显示绘图非常有用.根据matplotlib的官方文档, ...
- python + opencv: 解决不能读取视频的问题
博主一开始使用python2.7和Opencv2.4.10来获取摄像头图像,程序如下: cap = cv2.VideoCapture(0) ret, frame = cap.read() 使用这个程序 ...
- Python+Opencv:解决打开摄像头慢的问题,现在秒开视频
前言:打开摄像头非常慢,大概需要5-11秒才能输出视频,这个问题困扰了我很久,一直没得到解决.今天终于得到解决,实现了秒开,值得记录和庆贺一下. 1.我的开发环境(不同的开发环境可能不会遇到我这样的问 ...
- python opencv 读取视频保存视频片段和图片
video4.avi为保存的视频名字 # -*- coding: utf-8 -*- """ Spyder EditorThis is a temporary scrip ...
- Python OpenCV显示图像并保存图像
源码如下: import numpy as np import cv2 img = cv2.imread('lena.jpg',0) cv2.imshow('image',img) k = cv2.w ...
- 使用python opencv批量对贴图进行除透明边并压缩
import glob import cv2def access_pixels(file, frame):print(frame.shape) # shape内包含三个元素:按顺序为高.宽.通道数he ...
- Python+Opencv:在视频上叠加一个背景透明Logo
前言:看电视节目时,电视台都会把打在视频上,大多数视频Logo背景都是固定不便的,但有些做得好的效果是,Logo背后的视频是随节目内容实时变化的.这到底怎么实现的呢? 经过实践,我也搞了一个Logo背 ...
- 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题
解决Python OpenCV 读取视频抽帧出现error while decoding的问题 1. 问题 2. 解决 3. 源代码 参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下: [ ...
- python opencv打开摄像头,截图保存
python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...
最新文章
- 【软件开发底层知识修炼】十一 链接器-链接脚本
- Linux实验五:Linux环境下的C语言编程
- vue动态设置文字布局方式_十大惊人的文字动画特效
- 电控 应用层开发 学习_阿里巴巴如何改善开发人员在 K8s 上的体验?
- ORACLE 索引的三种状态: VALID、 N/A 、UNUSABLE
- Youzi2D推出开源HTML5游戏加速引擎
- 什么是IEC球压测试?
- vue echarts 柱状图
- js将两张图片合成一张图片
- chessbase(ChessBase Mega)
- excel多工作表汇总如何完成?
- 一套Java架构开发的电商系统要多少钱
- 批量下载人像图片的技巧,POCO相册图片如何下载的方法
- html设置ie9兼容性视图,ie9浏览器设置兼容性视图在哪里设置
- 耀世升级,第三版Java多线程核心技术手册,成长之路必不可少
- 阿里云SLB之:基于TCP协议的SLB应用场景(十)
- 出名的网络IT技术更新网站导航整理
- [ Python ] 常用类库学习之 tabulate
- 优化核心思想(1):分迭
- tm4c123g c语言,TI 推出 Tiva C 系列 TM4C123G USB+CAN 开发套件