要使用 Albumentations 对 PIL 图像进行数据增强,你需要将 PIL 图像转换为 NumPy 数组,并使用 Albumentations 库中的转换函数来进行数据增强。以下是一个示例代码:
import albumentations as A
from PIL import Image
import numpy as np
# 打开图像
image = Image.open('image.jpg')
# 将 PIL 图像转换为 NumPy 数组
image_np = np.array(image)
# 定义增强函数
transform = A.Compose([
A.RandomCrop(width=256, height=256),
A.HorizontalFlip(p=0.5),
A.Rotate(limit=30),
])
# 应用增强
augmented_image_np = transform(image=image_np)['image']
# 将增强后的 NumPy 数组转换回 PIL 图像
augmented_image = Image.fromarray(augmented_image_np)
# 显示增强后的图像
augmented_image.show()
在这个示例中,我们首先使用 PIL 库打开图像,然后将其转换为 NumPy 数组。然后,我们定义了一个增强函数 transform,其中包含了一系列的增强操作,如随机裁剪、水平翻转和旋转。最后,我们将图像传递给增强函数 transform,并通过访问字典的键 ‘image’ 来获取增强后的 NumPy 数组。最后,我们将增强后的 NumPy 数组转换回 PIL 图像,并显示出来。