下面是使用Python PIL对指定文件夹中的所有图片进行修改的完整攻略:
1. 安装PIL库
在Python中使用PIL库来处理图片,需要先安装PIL库。可以使用pip在命令行中输入以下命令进行安装:
pip install Pillow
2. 导入PIL库和os库
在Python文件开头,需要导入PIL库和os库,以便对图片进行批量处理和读取。
from PIL import Image
import os
3. 定义函数进行图片处理
下面是一个示例函数,可以实现将图片大小调整到给定的尺寸。
def resize_images(input_dir, output_dir, size):
for root, dirs, files in os.walk(input_dir):
for file in files:
if file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.png'):
try:
# 打开原始图片
with Image.open(os.path.join(root, file)) as img:
# 调整图片大小
img.thumbnail(size)
# 将处理后的图片保存到输出目录
img.save(os.path.join(output_dir, file))
except Exception as e:
print(e)
以上代码中,resize_images函数接收三个参数:输入文件夹、输出文件夹和目标图片尺寸。函数使用os库中的walk方法遍历输入文件夹中的所有图片文件,使用PIL库打开图片,调整大小并将处理后的图片保存到输出文件夹中。如果处理过程中发生错误,该函数会打印出错误提示信息。
4. 调用示例函数resize_images
下面是调用示例函数resize_images的代码示例:
input_dir = '/path/to/input/folder'
output_dir = '/path/to/output/folder'
size = (128, 128)
resize_images(input_dir, output_dir, size)
以上代码中,将input_dir指定为原始图片所在的文件夹路径,output_dir指定为处理后的图片保存的文件夹路径,size指定为目标图片的大小,这里是128×128像素。执行调用后,该函数会批量处理输入文件夹中的所有图片。
5. 更多示例
除了调整图片大小之外,PIL库还可以进行更多的图片处理操作。下面是一个示例函数,可以实现将图片转换为黑白图片。
def convert_to_bw_images(input_dir, output_dir):
for root, dirs, files in os.walk(input_dir):
for file in files:
if file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.png'):
try:
# 打开原始图片
with Image.open(os.path.join(root, file)) as img:
# 将图片转换为黑白模式
img = img.convert('L')
# 将处理后的图片保存到输出目录
img.save(os.path.join(output_dir, file))
except Exception as e:
print(e)
以上代码中,convert_to_bw_images函数接收两个参数:输入文件夹和输出文件夹。函数使用os库中的walk方法遍历输入文件夹中的所有图片文件,使用PIL库打开图片,将图片转换为黑白模式并将处理后的图片保存到输出文件夹中。如果处理过程中发生错误,该函数会打印出错误提示信息。
在调用该函数时,只需要修改输入文件夹和输出文件夹的路径即可。
input_dir = '/path/to/input/folder'
output_dir = '/path/to/output/folder'
convert_to_bw_images(input_dir, output_dir)
以上代码中,将input_dir指定为原始图片所在的文件夹路径,output_dir指定为处理后的黑白图片保存的文件夹路径。执行调用后,该函数会批量处理输入文件夹中的所有图片。