如何使用Python批量处理图片以统一格式和尺寸?

在Python中,我们可以使用PIL(Python Imaging Library)库来批量统一图片格式和尺寸。首先需要安装PIL库,然后通过以下代码实现:,,``python,from PIL import Image,import os,,def batch_resize_and_convert(input_folder, output_folder, size, format):, for filename in os.listdir(input_folder):, img = Image.open(os.path.join(input_folder, filename)), img = img.resize(size), img.save(os.path.join(output_folder, f"{filename.split('.')[0]}.{format}")),,input_folder = "原图片文件夹路径",output_folder = "输出图片文件夹路径",size = (宽度, 高度),format = "目标格式",batch_resize_and_convert(input_folder, output_folder, size, format),`,,将上述代码中的input_folderoutput_foldersizeformat`替换为实际的参数值,运行代码即可实现批量统一图片格式和尺寸。

使用Python批量统一图片格式和尺寸

如何使用Python批量处理图片以统一格式和尺寸?
(图片来源网络,侵删)

要实现批量统一图片格式和尺寸,我们可以使用Python的PIL库(也称为Pillow),以下是一个简单的示例代码:

from PIL import Image
import os
def convert_images(input_folder, output_folder, target_format='JPEG', target_size=(800, 600)):
    """
    将指定文件夹中的所有图片转换为指定的格式和尺寸。
    
    参数:
        input_folder (str): 输入图片的文件夹路径。
        output_folder (str): 输出图片的文件夹路径。
        target_format (str): 目标图片格式,默认为'JPEG'。
        target_size (tuple): 目标图片尺寸,默认为(800, 600)。
    """
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    for filename in os.listdir(input_folder):
        if filename.endswith(('.jpg', '.jpeg', '.png', '.bmp')):
            img = Image.open(os.path.join(input_folder, filename))
            img = img.resize(target_size)
            output_filename = os.path.splitext(filename)[0] + '.' + target_format.lower()
            img.save(os.path.join(output_folder, output_filename), target_format)
示例用法
convert_images('input_images', 'output_images')

单元表格:

参数 描述
input_folder 输入图片的文件夹路径
output_folder 输出图片的文件夹路径
target_format 目标图片格式,默认为'JPEG'
target_size 目标图片尺寸,默认为(800, 600)

相关问题与解答:

1、问题: 如果我想保留原始图片的扩展名,应该如何修改代码?

答案: 在保存图片时,可以使用os.path.splitext(filename)[1]来获取原始文件的扩展名,并将其添加到输出文件名中。

如何使用Python批量处理图片以统一格式和尺寸?
(图片来源网络,侵删)

```python

output_filename = os.path.splitext(filename)[0] + '.' + target_format.lower() + os.path.splitext(filename)[1]

```

2、问题: 如何只转换特定格式的图片,比如只转换.jpg格式的图片?

答案: 在遍历文件夹中的文件时,可以检查文件扩展名是否与所需的格式匹配,如果你只想转换.jpg格式的图片,可以将以下代码段替换到循环中:

如何使用Python批量处理图片以统一格式和尺寸?
(图片来源网络,侵删)

```python

if filename.endswith('.jpg'):

```