1、导入所需的库、定义增强管道
import albumentations as A
import cv2
transform = A.Compose([
A.RandomCrop(width=256, height=256),
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(p=0.2),
])
2、从磁盘读取图像和蒙版
- 读取图像
image = cv2.imread("/path/to/image.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
- 对于语义分割,您通常为每个图像读取一个掩码。Albumentations期望掩码是一个NumPy数组。蒙版的高度和宽度应与图像的高度和宽度具有相同的值。
mask = cv2.imread("/path/to/mask.png")
- 例如分割,您有时需要读取每个图像的多个蒙版。然后创建一个包含所有掩码的列表。
mask_1 = cv2.imread("/path/to/mask_1.png")
mask_2 = cv2.imread("/path/to/mask_2.png")
mask_3 = cv2.imread("/path/to/mask_3.png")
masks = [mask_1, mask_2, mask_3]
3、将图像和蒙版传递到增强管道,并接收增强的图像和蒙版。
transformed = transform(image=image, mask=mask)
transformed_image = transformed['image']
transformed_mask = transformed['mask']
如果图像具有多个关联的蒙版,则应使用 masks 参数而不是 mask。在 masks 您应该传递一个列表。
transformed = transform(image=image, masks=masks)
transformed_image = transformed['image']
transformed_masks = transformed['masks']