python 给图像添加透明度(alpha通道)


Posted in Python onApril 09, 2020

我们常见的RGB图像通常只有R、G、B三个通道,在图像处理的过程中会遇到往往需要向图像中添加透明度信息,如公司logo的设计,其输出图像文件就需要添加透明度,即需要在RGB三个通道的基础上添加alpha通道信息。这里介绍两种常见的向RGB图像中添加透明度的方法。

1、使用图像合成(blending)的方法

可参考上篇博文(python图像处理(十)——两幅图像的合成一幅图像(blending two images) )

代码如下:

#-*- coding: UTF-8 -*- 
 
from PIL import Image
 
def addTransparency(img, factor = 0.7 ):
  img = img.convert('RGBA')
  img_blender = Image.new('RGBA', img.size, (0,0,0,0))
  img = Image.blend(img_blender, img, factor)
  return img
 
 
img = Image.open( "SMILEY.png ")
img = addTransparency(img, factor =0.7)

这里给原图的所有像素都添加了一个常量(0.7)的透明度。

处理前后的效果如下:

python 给图像添加透明度(alpha通道)

2、使用Image对象的成员函数putalpha()直接添加

代码如下:

#-*- coding: UTF-8 -*- 
 
from PIL import Image
 
img = Image.open("SMILEY.png ")
img = img.convert('RGBA')
r, g, b, alpha = img.split()
alpha = alpha.point(lambda i: i>0 and 178)
img.putalpha(alpha)

处理前后的效果如下:

python 给图像添加透明度(alpha通道) 

到此这篇关于python 给图像添加透明度(alpha通道)的文章就介绍到这了,更多相关python  图像添加透明度内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python递归函数定义与用法示例
Jun 02 Python
Python基于列表list实现的CRUD操作功能示例
Jan 05 Python
Python全排列操作实例分析
Jul 24 Python
Python 字符串换行的多种方式
Sep 06 Python
python多线程下信号处理程序示例
May 31 Python
python-Web-flask-视图内容和模板知识点西宁街
Aug 23 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
Python如何使用OS模块调用cmd
Feb 27 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
python中yield的用法详解
Jan 13 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 Python
Python日志logging模块功能与用法详解
Apr 09 #Python
解决python DataFrame 打印结果不换行问题
Apr 09 #Python
Python的PIL库中getpixel方法的使用
Apr 09 #Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 #Python
python图片指定区域替换img.paste函数的使用
Apr 09 #Python
python程序输出无内容的解决方式
Apr 09 #Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 #Python
You might like
PHP中删除变量时unset()和null的区别分析
2011/01/27 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
利用php生成验证码
2017/02/23 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
提升Python程序运行效率的6个方法
2015/03/31 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Python 操作文件的基本方法总结
2017/08/10 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Python request中文乱码问题解决方案
2020/09/17 Python
python pymysql库的常用操作
2020/10/16 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
会计毕业生自荐信
2013/11/21 职场文书
主持词开场白
2014/03/17 职场文书
社区交通安全实施方案
2014/03/22 职场文书
大学生个人求职信
2014/06/02 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server