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 相关文章推荐
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
python与C互相调用的方法详解
Jul 14 Python
解决python3中cv2读取中文路径的问题
Dec 05 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
May 30 Python
python画双y轴图像的示例代码
Jul 07 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 Python
Python 实现一个计时器
Jul 28 Python
python 用struct模块解决黏包问题
Nov 07 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 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开发工具
2015/11/09 PHP
php+mysql实现无限级分类
2015/11/11 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
python3获取当前文件的上一级目录实例
2018/04/26 Python
python将数据插入数据库的代码分享
2020/08/16 Python
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
计算机工程学院个人求职信
2013/10/05 职场文书
心得体会范文
2014/01/04 职场文书
洗车工岗位职责
2014/03/15 职场文书
保护动物的标语
2014/06/11 职场文书
2014年终工作总结范本
2014/12/15 职场文书
工程资料员岗位职责
2015/04/13 职场文书
南极大冒险观后感
2015/06/05 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
敬老院活动感想
2015/08/07 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python