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实现全角半角字符互转的方法
Nov 28 Python
Python简单实现Base64编码和解码的方法
Apr 29 Python
详解python中的文件与目录操作
Jul 11 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
python word转pdf代码实例
Aug 16 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
Django之使用celery和NGINX生成静态页面实现性能优化
Oct 08 Python
flask框架蓝图和子域名配置详解
Jan 25 Python
python 实现字符串下标的输出功能
Feb 13 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禁止某ip或ip地址段访问的方法
2015/02/25 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
vue element实现表格合并行数据
2020/11/30 Vue.js
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
python中实现k-means聚类算法详解
2017/11/11 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
Python实现多线程的两种方式分析
2018/08/29 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
自我评价范文分享
2014/01/04 职场文书
安全生产责任书范本
2014/04/15 职场文书
美食节策划方案
2014/05/26 职场文书
工作求职信
2014/07/04 职场文书
生活小常识广播稿
2014/09/16 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
2014年宣传工作总结
2014/11/18 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书