怎么用python将一个文件夹中的图片等比缩放并填充为统一大小
时间: 2024-09-28 22:17:04 浏览: 38
在Python中,我们可以使用PIL(Pillow)库来操作图像,并结合os模块来遍历文件夹。以下是一个简单的步骤指南:
1. 首先,安装Pillow库,如果还没有安装可以使用pip安装:
```
pip install pillow
```
2. 导入需要的模块:
```python
from PIL import Image
import os
```
3. 定义函数来处理图片缩放:
```python
def resize_image(input_path, output_path, target_size):
with Image.open(input_path) as img:
max_dim = max(img.width, img.height)
if max_dim > target_size:
ratio = target_size / max_dim
new_width = int(img.width * ratio)
new_height = int(img.height * ratio)
img = img.resize((new_width, new_height), Image.ANTIALIAS) # 使用抗锯齿缩放
img.save(output_path)
```
4. 遍历指定文件夹下的所有图片并调用该函数:
```python
def process_folder(input_folder, output_folder, target_size):
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)
resize_image(input_path, output_path, target_size)
# 使用方法
input_folder = 'path_to_your_input_folder'
output_folder = 'path_to_your_output_folder'
target_size = 800 # 指定想要的目标尺寸,单位为像素
process_folder(input_folder, output_folder, target_size)
```
阅读全文