PIL概念

本文介绍了Python图像库的基础概念,包括图像的波段、模式、大小等,并解释了坐标系统及如何使用调色板。此外还介绍了滤波器的种类及其在不同情况下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python图像库处理光栅图像(raster images);即一个矩形区域的图像数据。

波段(Bands)
一幅图像可以包含一个或多个波段的数据。Python允许你在一幅图像中保存多个波段的数据,但这要求它们有相同的面积和深度。

To get the number and names of bands in an image, use the getbands method.

模式(Mode)
图像的模式定义了图像中像素的类型和深度。当前发布支持下面的标准模式:

· 1 (1-bit pixels, black and white, stored with one pixel per byte)

· L (8-bit pixels, black and white)

· P (8-bit pixels, mapped to any other mode using a colour palette)

· RGB (3x8-bit pixels, true colour)

· RGBA (4x8-bit pixels, true colour with transparency mask)

· CMYK (4x8-bit pixels, colour separation)

· YCbCr (3x8-bit pixels, colour video format)

· I (32-bit signed integer pixels)

· F (32-bit floating point pixels)

PIL对一些特殊模式也提供了有限的支持,这些模式包括LA (L with alpha), RGBX (true colour with padding) 和 RGBa (true colour with premultiplied alpha).

可以通过 mode 属性读出图像的模式。它是一个包含上述值之一的字符串。

大小(Size)
可以通过 size 属性读出图像的大小。它是一个包含水平和垂直大小(单位:像素)的2元元组。

坐标系统(Coordinate System)
Python图像库使用笛卡尔像素坐标系统(Cartesian pixel coordinate system),(0,0)表示左上角。注意这个坐标表示该像素的左上角;位于(0,0)的像素的中心坐标应该是(0.5,0.5)。

坐标通常以2元元组(x,y)的形式传给图像库。矩形用4元元组表示,先给出的是左上角的坐标。比如覆盖一个800x600的图像所有数据的矩形应该写为(0,0,800,600)。

调色板(Palette)
调色板模式(“P”)使用调色板来定义每个像素的实际颜色

信息(Info)
可以通过 info 属性把辅助信息附加到图像中,这个属性是一个字典对象。

在加载和保存图像时处理信息的多少取决于文件格式处理器 (见 Image File Formats 章)。大多数处理器在加载图像的时候把信息添加到info属性上,但是在保存图像的时候则忽略。

滤波器(Filters)
一些几何操作可能会把几个输入像素映射到一个输出像素,Python图像库提供了四种不同的采样滤波器。

NEAREST

拾取来自输入图像的最近的像素。忽略其它所有像素。

BILINEAR

在输入图像的一个2x2的环境上使用线性内插法。注意,当前版本的PIL中,这个滤波器在进行降采样(downsampling)的时候使用一个固定的输入环境。

BICUBIC

在输入图像的一个4x4的环境上使用立方内插法。注意,当前版本的PIL中,这个滤波器在进行降采样(downsampling)的时候使用一个固定的输入环境。

ANTIALIAS

(PIL 1.1.3新增)。应用高质量的冲采样滤波器(a truncated sinc)到所有可能影响输出值的像素上来计算输出像素值。当前版本的PIL中,这个滤波器只能与resize 和 thumbnail 方法配合使用。

注意,当前版本的PIL中, ANTIALIAS 过滤器是唯一一个在降采样(就是在把大图像转换为小图像的时候)中表现合适的滤波器。BILINEAR 和 BICUBIC 使用固定的输入环境,最好是用在尺度不变的几何变换或升采样中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值