安装Package

pip install Pillow
pip install numpy

RGBA与RGB的区别

一般图片(Jpeg)的呈现都是以3通道RGB显示出来

from PIL import Image
import numpy as npimg = Image.open('test.jpg')
print(img .mode)
array = np.array(img )
print(array.shape)

输出为【RGB】,【(2048, 2048, 3)】

但是png格式的图片可以加上Alpha通道表示透明层,其实可以理解成以GrayScale level 表示透明度,其Alpha取值【0,255】, 0表示为透明最大化,255则为不透明最大化。

img = Image.open('test.png')
print(img.mode)
array = np.array(img)
print(array.shape)

输出为【RGBA】,【(2048, 2048, 4)】

PIL Image 4通道透明图片叠加

图片的叠加可以通过PIL Image 的paste函数进行

Image.paste(im, box=None, mask=None)

im = 叠加的图片

box = 叠加的坐标,默认坐标为左上角

mask = 叠加图片的mask

以下测试图为 左Jpeg, 右为4通道Png

一般叠加图片来说直接使用Image.paste(im)就可以了,但是这样的做法的会忽略了Alpha通道。

from PIL import Imagebg = Image.open('1.jpg') # background image
layer = Image.open('2.png') # 4 channel png image
bg.paste(layer)
bg.show()

处理Alpha channel 透明层的秘诀就是在于Image.paste(im)加上mask。

from PIL import Imagebg = Image.open('1.jpg') # background image
layer = Image.open('2.png') # 4 channel png image
bg = bg.resize((2048,2048))
bg.paste(layer, (0,0), layer)
bg.show()

Python PIL Image 4通道透明图片叠加(ARGB)相关推荐

  1. python 给图像添加合成透明图片贴纸

    python 给图像添加合成透明图片贴纸 经过两天的研究,虽然也有类似的代码,但还是研究了两天才搞懂! from PIL import Imagedef s(qyt_code,poster):# 加载 ...

  2. 【Python】图像-粘贴PNG透明图片及处理圆角

    此处记录研究图像部分替换过程中自己实践的代码段.另外,附上 PIL 库官方文档的阅读技巧. Python处理图片需要另外安装 PIL (Python Image Library)库,即 pillow, ...

  3. python PIL 将带透明底png图片批量转化为jpg格式

    需求: 将带透明底png图片批量转化为jpg格式 遇到的问题: 好多帖子的方法虽然可以将png图片转化为jpg图片,但是转化后的jpg图片有问题,转化后的图片和原图差距太大 解决办法: 直接将png图 ...

  4. python透明图处理_使用python处理RGBA格式的透明图片的粘贴

    当需要将一张有透明部分的图片粘贴到一张底片上时,如果用Python处理,可能会用到PIL,但是PIL中 有说明,在粘贴RGBA模式的图片是,alpha通道不会被帖上,也就是不会有透明的效果,当然也给出 ...

  5. Qt setStyleSheet 透明图片叠加

    前言:懒惰不是我的理由,感觉隔了一万年没有写新的东西了.有关改变控件背景图片的需求,比如说:点击一个按钮,其他按钮背景发生变化,一点控件背景图亮一点,一些暗一点. 背景:当时有两个想法,一个是将所有图 ...

  6. Python PIL.Image之制作GIF图片

    ------------------------------------------------语法基础------------------------------------------------ ...

  7. Python PIL | Image.resize() 裁剪 缩放图片

    PIL是Python Imaging Library,它为python解释器提供了图像编辑功能. 图像模块提供了一个具有相同名称的类,用于表示PIL图像. 该模块还提供了许多功能,包括从文件加载图像和 ...

  8. PNG透明图片叠加(Opencv实现,包括旋转缩放以及边界处理)

    叠加效果 原图 叠加图片 大致实现了一个四通道的PNG矢量图叠加到一个三通道的图片上,函数如下: bool 叠加(cv::Mat &dst, cv::Mat &src, double ...

  9. Shader学习12——简易图片叠加

    看到蛮牛有人想要两个带透明通道的图片叠加,就是最简单的纹理混合,想想其实实现起来应该很简单,但是搜了一下还真没搜到,这里简单实现一下,要求底图需要是不透明的: image.png image.png ...

最新文章

  1. 翻译器DIY它———算在英文文本中的单词数,字符和行数
  2. dwr配置文件dwr.xml详解
  3. 软件项目周报_软件产品研发流程
  4. java 组合对象_Java 中组合模型之对象结构模式的详解
  5. 硬核干货:如果样本量不一一样多,或者不是一一对应关系,如何做差异?相关?...
  6. 探索GaussDB(DWS)的过程化SQL语言能力
  7. 【动态规划】天上掉馅饼
  8. php 写二维数组,php二维数组怎么写
  9. python怎么操作_python怎么操作mysql
  10. 常见语法错误:sizeof和strlen strlen获取指针指向的数组长度
  11. tensorflow numpy版本匹配_在Matlab中使用tensorflow (1)
  12. 谷歌浏览器input中的text 和 button 水平对齐的问题
  13. Cocos Creator 详解虚拟摇杆
  14. Go语言: go-redis客户端通过MSet方法一次性批量写入多个key的值
  15. PS CC2019安装教程
  16. 识别各种安全设备及当今体现形态-区别UTM与NGFW
  17. ICPC焦作站(E、F)+思维+树上dp
  18. 在虚拟机上安装gho、esd(wim)系统镜像文件
  19. 追踪ws的怪蜀黍(DFS)
  20. 怎么把一张暗的照片调亮_PS怎么把一张暗的图调亮,就局部

热门文章

  1. Euler characteristic
  2. android为什么总是闪退怎么办,手机应用老是闪退该怎么办?
  3. 凤凰x86 卡android,卡ANDROIDx86_64的解决办法
  4. 记一次git pull 错误
  5. 解决No thread-bound request found: Are you referring to request attributes outside of an actual web...
  6. 全方位教你怎么看懂英国的车牌
  7. 大巧不工 JGraph简介和使用技巧(转)
  8. 归宿 - 写给无处安放的内心
  9. springboot接口接参注解详解 controller @Valid
  10. Linux环境下无盘工作站的架设和实现一(转)