详解Python pil

  • Post category:Python

Python PIL 图像处理库完整攻略

PIL(Python Imaging Library)是 Python 中用于图像处理的标准库,它提供了丰富的处理图像的工具和算法。在这篇文档中,我们将讲解 Python PIL 的基本知识和使用方法,以及两个简单的示例说明。

安装 Python PIL

在使用 PIL 之前,需要先安装它。在命令行中运行以下命令即可:

pip install Pillow

安装成功后,我们就可以使用 PIL 进行图像处理了。

打开图像

使用 PIL 打开图像非常简单。只需使用Image模块的open()函数即可:

from PIL import Image

img = Image.open('image.jpg')

上述代码打开名为image.jpg的图像,并将其赋值给变量img。我们可以使用变量名来引用图像。

保存图像

使用 PIL 保存图像也非常简单。只需调用图像对象的save()方法并指定文件名即可:

img.save('new_image.jpg')

上述代码将图像对象img保存为名为new_image.jpg的新图像。

图像缩放

使用 PIL 进行图像缩放也非常方便。只需调用图像对象的resize()方法,并指定新的尺寸即可:

new_img = img.resize((width, height))

上述代码将图像对象img缩放为新的尺寸,并将结果保存到变量new_img中。

示例1:图像处理

接下来我们来看一个简单的图像处理示例。

from PIL import Image, ImageFilter

img = Image.open('image.jpg')
gray_img = img.convert('L')
blur_img = gray_img.filter(ImageFilter.GaussianBlur(radius=10))
blur_img.save('processed_image.jpg')

上述代码先打开名为image.jpg的图像,并将其转换为灰度图像。然后,应用高斯模糊滤镜,将处理结果保存到名为processed_image.jpg的新图像中。

示例2:图像批量处理

我们还可以使用 PIL 对整个文件夹中的所有图像进行批量处理。

import os
from PIL import Image

input_folder = 'input_folder'
output_folder = 'output_folder'
size = (800, 600)

if not os.path.exists(output_folder):
    os.makedirs(output_folder)

for filename in os.listdir(input_folder):
    filepath = os.path.join(input_folder, filename)
    if os.path.isfile(filepath):
        with Image.open(filepath) as img:
            img = img.resize(size)
            img.save(os.path.join(output_folder, filename))

上述代码将input_folder文件夹中所有的图像文件缩放为指定大小,并将处理结果保存到output_folder文件夹中。

以上是 Python PIL 图像处理库的完整攻略和两个简单的示例说明。