我们来详细讲解如何利用Python实现图片批处理。
一、环境准备
在开始前,我们需要先安装以下两个Python库:
- Pillow。一个Python Imaging Library(PIL)的分支项目,可以用于图片处理和图像识别等。
pip install Pillow
- 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实现图片批处理需要以下步骤:
- 安装Pillow库;
- 读取图片;
- 进行图片操作;
- 批处理。
我们还分享了两个常用的图片操作方式和一个示例代码。希望以上内容可以帮助你完成图片批处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何利用python实现图片批处理 - Python技术站