python批量调整图片尺寸,宽高比9:16
可以使用Python中的PIL库(Pillow)来批量调整图片尺寸,确保宽高比为9:16。以下是一个简单的示例代码:
from PIL import Image
import os
def resize_images(input_folder, output_folder, target_width, target_height):
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历输入文件夹中的所有图片文件
for filename in os.listdir(input_folder):
if filename.endswith(('.jpg', '.jpeg', '.png', '.gif')):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
# 打开图像文件
with Image.open(input_path) as img:
# 计算调整后的尺寸,保持宽高比为9:16
width, height = img.size
if width / height > 9 / 16:
new_width = int(target_height * width / height)
new_height = target_height
else:
new_width = target_width
new_height = int(target_width * height / width)
# 调整图像尺寸
resized_img = img.resize((new_width, new_height))
# 保存调整后的图像
resized_img.save(output_path)
# 输入和输出文件夹的路径
input_folder = 'input_images'
output_folder = 'output_images'
# 目标宽高
target_width = 900
target_height = 1600
# 调整图片尺寸
resize_images(input_folder, output_folder, target_width, target_height)
将输入的图片放在名为 input_images 的文件夹中,并在运行代码后,调整后的图片将保存在名为 output_images 的文件夹中。你可以根据需要调整目标的宽度和高度。
from PIL import Image
import os
def resize_images(input_folder, output_folder, target_width, target_height):
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历输入文件夹中的所有图片文件
for filename in os.listdir(input_folder):
if filename.endswith(('.jpg', '.jpeg', '.png', '.gif')):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
# 打开图像文件
with Image.open(input_path) as img:
# 计算调整后的尺寸,保持宽高比为9:16
width, height = img.size
if width / height > 9 / 16:
new_width = int(target_height * width / height)
new_height = target_height
else:
new_width = target_width
new_height = int(target_width * height / width)
# 调整图像尺寸
resized_img = img.resize((new_width, new_height))
# 保存调整后的图像
resized_img.save(output_path)
# 输入和输出文件夹的路径
input_folder = 'input_images'
output_folder = 'output_images'
# 目标宽高
target_width = 900
target_height = 1600
# 调整图片尺寸
resize_images(input_folder, output_folder, target_width, target_height)
将输入的图片放在名为 input_images 的文件夹中,并在运行代码后,调整后的图片将保存在名为 output_images 的文件夹中。你可以根据需要调整目标的宽度和高度。