python批量resize
时间: 2023-07-20 22:02:40 浏览: 60
### 回答1:
Python中可以使用PIL库(Pillow库的一个分支)来实现批量resize的功能。
首先,我们需要导入PIL库的Image模块:
```
from PIL import Image
```
然后,我们可以定义一个resize函数,用于将给定路径下的所有图片文件resize到指定的大小。函数的参数包括源路径、目标路径以及目标宽度和高度:
```
def resize_images(source_path, target_path, width, height):
# 获取源路径下的所有图片文件
image_files = glob.glob(source_path + "/*.jpg") # 这里以jpg格式为例,可以根据实际情况修改
for image_file in image_files:
# 打开图片文件
image = Image.open(image_file)
# resize图片
resized_image = image.resize((width, height))
# 保存resize后的图片
resized_image.save(f"{target_path}/{image_file.split('/')[-1]}")
```
在函数中,我们使用glob模块来获取源路径下的所有图片文件,然后依次打开、resize并保存到目标路径下。
最后,我们可以调用resize_images函数来实现批量resize的功能。例如,我们将source路径下的所有图片resize到宽度为200像素、高度为200像素,并保存到target路径下:
```
source = "path/to/source"
target = "path/to/target"
resize_images(source, target, 200, 200)
```
这样,所有的图片就会被resize并保存到指定的目标路径下了。
### 回答2:
Python批量调整图片大小可以使用PIL库来实现。下面是一个简单的示例:
```python
from PIL import Image
import os
def batch_resize_images(input_folder, output_folder, new_size):
# 遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):
input_path = os.path.join(input_folder, filename)
# 判断文件是否为图片文件
if os.path.isfile(input_path) and filename.lower().endswith(('.jpg', '.jpeg', '.png')):
try:
# 打开图片
image = Image.open(input_path)
# 调整图片大小
resized_image = image.resize(new_size)
# 构建输出文件路径
output_path = os.path.join(output_folder, filename)
# 保存调整后的图片
resized_image.save(output_path)
print(f"已成功调整大小:{input_path} => {output_path}")
except Exception as e:
print(f"调整大小失败:{input_path}\n错误信息:{str(e)}")
# 批量调整图片大小
input_folder = './input' # 输入文件夹路径
output_folder = './output' # 输出文件夹路径
new_size = (800, 600) # 新的图片尺寸
batch_resize_images(input_folder, output_folder, new_size)
```
在上述代码中,首先导入了PIL库和os库。`batch_resize_images`函数接受三个参数:输入文件夹路径、输出文件夹路径和新的图片尺寸。然后,使用`os.listdir`函数遍历输入文件夹中的所有文件。通过判断文件后缀来确定是否为图片文件。对于每个图片文件,使用`Image.open`函数打开图片,然后调用`resize`方法调整其大小,再使用`save`方法保存到输出文件夹中。最后,通过调用`batch_resize_images`函数来批量处理图片。将输入文件夹路径、输出文件夹路径和新的图片尺寸作为参数传递给该函数即可。
### 回答3:
Python可以使用PIL(Python Imaging Library)来实现图片的批量重设大小(resize)。PIL是一个用于图像处理的强大的Python库。
首先,我们需要安装Pillow库,它是PIL的一个分支,提供了更好的支持和更新的功能。
使用以下命令安装Pillow库:
```
pip install Pillow
```
接下来,我们可以使用以下代码来批量调整图片的大小:
```python
from PIL import Image
import os
# 指定图片文件夹路径
image_folder = '/path/to/image/folder'
# 指定调整后的大小
new_size = (300, 300)
# 遍历图片文件夹中的所有图片文件
for filename in os.listdir(image_folder):
if filename.endswith('.jpg') or filename.endswith('.png'):
# 打开图片文件
image = Image.open(os.path.join(image_folder, filename))
# 调整图片大小
resized_image = image.resize(new_size)
# 保存调整后的图片
resized_image.save(os.path.join(image_folder, 'resized_'+filename))
```
在上述代码中,我们首先指定要处理的图片文件夹路径,然后指定调整后的大小。然后,使用`os.listdir()`函数遍历文件夹中的所有图片文件。通过判断文件后缀来筛选需要处理的图片格式。
对于每个图片文件,我们使用`Image.open()`方法打开图片,然后使用`resize()`方法调整图片的大小。最后,我们使用`save()`方法保存调整后的图片,命名为"resized_"加上原始文件名。
这样,我们就可以使用Python批量调整图片的大小了。请注意,你需要替换`/path/to/image/folder`为你实际的图片文件夹路径,并根据需要调整调整后的大小。