详解Python pil

  • Post category:Python

Python PIL(Python Imaging Library)是Python编程语言的图像处理模块。它允许我们在Python程序中读取和操作图像,包括裁剪、旋转、缩放、颜色转换、滤镜应用等等。

以下是Python PIL的完整攻略:

安装PIL模块

安装PIL模块非常简单,我们只需要使用pip命令在终端中安装即可:

pip install pillow

打开图像文件

使用PIL模块打开图像文件只需要一行代码:

from PIL import Image

im = Image.open("image.png") # 图像路径和名称

这些代码将打开一个图像文件,并将其加载到内存中。我们可以使用PIL模块中的方法访问和操作它们。

显示图像

我们可以使用show()方法来显示图像:

im.show()

图像格式转换

使用PIL模块,我们可以将图像转换为其他格式,比如将PNG格式的图像转换为JPEG格式。

im = Image.open("image.png")
im = im.convert('RGB')
im.save("image.jpg", "jpeg")

这段代码将打开一个PNG格式的图像文件,将其转换为RGB格式,并以JPEG格式保存它。

裁剪图像

使用PIL模块,我们可以对图像进行裁剪操作,截取出我们所需要的部分:

im = Image.open("image.png")
box = (100, 100, 400, 400) # 坐标(left, upper, right, lower)
im = im.crop(box)
im.save("cropped_image.png")

这段代码将打开一个PNG格式的图像文件,截取以(100,100)为左上角,以(400,400)为右下角的矩形区域,然后将其保存为另一张PNG格式的图像。

图像旋转

使用PIL模块,我们可以将图像旋转任意角度:

im = Image.open("image.png")
im = im.rotate(45)
im.save("rotated_image.png")

这段代码将打开一个PNG格式的图像文件,将其逆时针旋转45度,并将其保存为另一张PNG格式的图像。

反转图像

使用PIL模块,我们可以将图像在水平或垂直方向进行翻转:

im = Image.open("image.png")
im = im.transpose(Image.FLIP_LEFT_RIGHT) # 水平翻转
im.save("flipped_image.png")

这段代码将打开一个PNG格式的图像文件,将其水平翻转,并将其保存为另一张PNG格式的图像。

应用滤镜

使用PIL模块,我们可以对图像应用各种滤镜。以下代码应用了高斯模糊、边缘增强和轮廓滤镜:

from PIL import ImageFilter

im = Image.open("image.png")
im = im.filter(ImageFilter.GaussianBlur(radius=2))
im = im.filter(ImageFilter.EDGE_ENHANCE_MORE)
im = im.filter(ImageFilter.CONTOUR)
im.save("filtered_image.png")

这段代码将打开一个PNG格式的图像文件,应用高斯模糊、边缘增强和轮廓滤镜,并将其保存为另一张PNG格式的图像。

以上是Python PIL的完整攻略,其中用到了几个示例,读者可以根据自己的需求,使用PIL模块来处理和操作图像。