如何利用python实现图片批处理

  

我们来详细讲解如何利用Python实现图片批处理。

一、环境准备

在开始前,我们需要先安装以下两个Python库:

  1. Pillow。一个Python Imaging Library(PIL)的分支项目,可以用于图片处理和图像识别等。
pip install Pillow
  1. os。一个Python自带的用于处理文件和目录的标准库,常用于文件系统操作。

不需要进行安装,因为已经安装了Python就自带了该库。

安装完成后,我们就可以正式开始进行图片批处理了。

二、读取图片

我们需要首先读取要处理的图片,可以使用Pillow库读取。

from PIL import Image

im = Image.open('example.jpg')

上述代码中,im就是读取到的图片对象,可以使用.show()方法将图片展示出来。

三、图片操作

接下来,我们可以对图片进行一些操作。下面是两个常用的图片操作方式。

1. 调整大小

size = (width, height)
im_resized = im.resize(size)

上述代码中,我们设置了新的大小,然后使用.resize()方法将图片调整到新的大小。调整完后,我们可以使用.save()方法存储图片。

im_resized.save('example_resized.jpg')

2. 转换格式

im_converted = im.convert('RGB')

上述代码中,通过使用.convert()方法,我们可以将图片转换为不同的格式。这里转换为RGB格式。转换完后,我们同样可以使用.save()方法存储图片。

im_converted.save('example_converted.jpg')

四、批处理

完成一个图片的处理后,我们需要再次进行读取、处理和存储,这时候我们可以将代码封装成函数,并通过循环实现批处理。

下面是一个示例代码,将所有example目录下的JPG图片都转换为PNG格式。

import os
from PIL import Image

def image_convert(filename):
    im = Image.open(filename)
    im_converted = im.convert('RGB')
    new_filename = os.path.splitext(filename)[0] + '.png'
    im_converted.save(new_filename)

directory = 'example'
for filename in os.listdir(directory):
    if filename.endswith('.jpg'):
        image_convert(os.path.join(directory, filename))

上述代码中,image_convert()函数是进行图片转换的封装。os.path.splitext()方法可以获取到文件名和文件后缀,我们利用它来生成新的文件名。

然后,我们使用os.listdir()方法获取到目录下的所有文件,并使用if语句过滤掉非JPG格式的文件。

最后,我们使用os.path.join()方法和image_convert()函数进行循环,批量处理图片。

五、总结

通过以上介绍,我们可以看到,利用Python实现图片批处理需要以下步骤:

  1. 安装Pillow库;
  2. 读取图片;
  3. 进行图片操作;
  4. 批处理。

我们还分享了两个常用的图片操作方式和一个示例代码。希望以上内容可以帮助你完成图片批处理。

相关文章