python批量裁剪图片尺寸将5472 x 3648尺寸的图片裁剪成640*640的图片,边缘图片不足640则填充白色
时间: 2024-09-15 07:13:28 浏览: 47
在Python中,你可以使用PIL(Pillow)库来批量处理这样的图像大小调整任务,尤其是当涉及到裁剪和填充时。首先,你需要安装Pillow库,如果尚未安装可以使用`pip install pillow`命令。
以下是一个简单的脚本示例,展示了如何按照你的需求进行操作:
```python
from PIL import Image
def crop_and_pad(image_path, output_path, size=(640, 640), color='white'):
with Image.open(image_path) as img:
# 裁剪图片到指定尺寸
cropped_img = img.crop((0, 0, size[0], size[1]))
# 如果裁剪后的图片小于目标尺寸,则填充颜色
if cropped_img.width < size[0] or cropped_img.height < size[1]:
pad_width = (size[0] - cropped_img.width) // 2
pad_height = (size[1] - cropped_img.height) // 2
padded_img = Image.new('RGB', size, color=color)
padded_img.paste(cropped_img, (pad_width, pad_height))
# 保存裁剪并填充后的图片
padded_img.save(output_path)
# 示例文件路径替换为你实际的图片目录
input_folder = 'path/to/input/images'
output_folder = 'path/to/output/images'
for filename in os.listdir(input_folder):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
crop_and_pad(input_path, output_path)
```
在这个脚本中,`crop_and_pad`函数接受输入图片路径、输出路径以及裁剪后的尺寸和填充颜色。它先尝试裁剪图片,然后检查是否需要填充,如果是,就创建一个新的图片,并将裁剪的部分放置在新图的中间位置,最后保存结果。
阅读全文