Python:PIL(二)——相关概念
写在最前:PIL只处理栅格(Raster)数据
1、Bands
一幅图像由一个或多个波段的数据组成。PIL允许我们在单幅图像中存储多个波段,前提是它们有相同的维度。例如,一幅PNG图像包含了R、G、B、A波段,RGB不多说了,A是alpha透明度。在分析这种图像时,通常将每个像素点的不同波段值分开考虑。
为了得到一幅图像的bands数量和名字,可以用getbands()方法。
2、Modes
一幅图像的Mode是一个个String,它们标识了图像类型、像素深度等信息。目前(截止2021.4)支持的Modes有:
Mode | 说明 |
1 | 黑白图像(二值图像),每个像素点只有0、1两个值 |
L | 8-bit灰度图像 |
P | 8-bit像素值,需要和调色板(palette)配合使用 |
RGB | 3*8-bit,真彩色 |
RGBA | 4*8-bit,真彩色+透明度 |
CMYK | 4*8-bit,印刷色 |
YCbCr | |
LAB | 3*8;L*a*b颜色空间 |
HSV | 3*8;色调、饱和度、亮度 |
I | 32bit;有符号整型像素值 |
F | 32bit;浮点像素值 |
3、一些图片基本项
Size | 属性size;图像尺寸,是一个有2个元素的tuple |
Info | 信息Info;图像信息 |
Orientation | 图像方位 |
Palette | 调色板 |
4、滤波器
滤波器(使用方式PIL.Image.XXX) | 说明 | 适用 |
NEAREST | 最近邻 | |
BOX | 每个像素都向目标像素贡献了相同权重; |
resize() thumbnail() |
BILINEAR |
双线性插值法; 参与计算的像素为输入图像中的目标像素附近2*2的像素 |
|
HAMMING | 相比BILINEAR更锐化,相比BOX无错位 |
resize() thumbnail() |
BICUBIC |
双三次插值法; 参与计算的像素为原图像中目标像素附近4*4的像素 |
|
LANCZOS | Lanczos滤波器 |
resize() thumbnail() |
不同滤波器间的比较
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性