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记录详细调用堆栈日志的方法
May 05 Python
Python中DJANGO简单测试实例
May 11 Python
python从网络读取图片并直接进行处理的方法
May 22 Python
Python生成数字图片代码分享
Oct 31 Python
使用C++扩展Python的功能详解
Jan 12 Python
python 产生token及token验证的方法
Dec 26 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
tensorflow的计算图总结
Jan 12 Python
Python内建序列通用操作6种实现方法
Mar 26 Python
用Python自动清理系统垃圾的实现
Jan 18 Python
python库Tsmoothie模块数据平滑化异常点抓取
Jun 10 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抽奖小程序的实现代码
2013/06/18 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
支部鉴定材料
2014/06/02 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
2015国庆节感想
2015/08/04 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
Python编程super应用场景及示例解析
2021/10/05 Python