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实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
Python常见文件操作的函数示例代码
Nov 15 Python
python fabric使用笔记
May 09 Python
Python中用altzone()方法处理时区的教程
May 22 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 Python
对python中的xlsxwriter库简单分析
May 04 Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 Python
python导入pandas具体步骤方法
Jun 23 Python
Python 自由定制表格的实现示例
Mar 20 Python
Python 串口通信的实现
Sep 29 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
php4的彩蛋
2006/10/09 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
简介Django中内置的一些中间件
2015/07/24 Python
深入理解Python变量与常量
2016/06/02 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
党校培训思想汇报
2013/12/30 职场文书
护士演讲稿范文
2014/01/05 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书