将上述代码写成批量扩充图片
时间: 2024-09-24 10:24:35 浏览: 18
当然,如果你想将上述代码应用于批量图片,可以创建一个文件夹来存储原始图片,并读取目录中的所有图片。这里我们假设有一个名为`input_folder`的文件夹,其中包含你需要处理的图片。下面是修改过的代码,用于批量扩充图片:
```python
import os
import glob
def batch_augment_images(input_folder, output_folder, transform=True):
original_images = glob.glob(os.path.join(input_folder, "*.jpg")) + glob.glob(os.path.join(input_folder, "*.png")) # 添加其他图片格式
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for i, img_path in enumerate(original_images):
image = Image.open(img_path)
augmented_images = augment_images([image], [transform])
for j, augmented_img in enumerate(augmented_images):
filename = f"{os.path.basename(img_path)}_aug_{i}_{j}.jpg" # 可自定义文件名格式
augmented_img.save(os.path.join(output_folder, filename))
batch_augment_images("input_folder", "output_folder", True)
```
这段代码会遍历`input_folder`中的所有图片,对每张图片应用图像增强,然后将结果保存到`output_folder`中。每个原始图片都会生成多张增强后的图片,你可以通过改变`transform`参数来控制是否对每张图片都进行增强。