Albumentations 是一个用于图像增强的 Python 库
首先,确保已安装 Albumentations:
pip install albumentations
以下是一个使用 Albumentations 进行图像增强的示例,其中包括不同大小的蒙版:
import cv2
import numpy as np
import albumentations as A
from albumentations.pytorch import ToTensorV2
# 加载图像
image = cv2.imread("path/to/your/image.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 定义不同大小的蒙版
mask1 = np.zeros((256, 256), dtype=np.uint8)
cv2.circle(mask1, (128, 128), 64, (255, 255, 255), -1)
mask2 = np.zeros((256, 256), dtype=np.uint8)
cv2.rectangle(mask2, (64, 64), (192, 192), (255, 255, 255), -1)
# 定义 Albumentations 变换
transform = A.Compose([
A.RandomBrightnessContrast(p=0.5),
A.ShiftScaleRotate(shift_limit=0.1, scale_limit=0.2, rotate_limit=20, p=0.5),
A.CoarseDropout(max_holes=8, max_height=32, max_width=32, p=0.5),
A.CoarseDropout(max_holes=4, max_height=64, max_width=64, p=0.5),
A.ToTensorV2()
])
# 应用 Albumentations 变换
augmented_image1 = transform(image=image, mask=mask1)['image']
augmented_image2 = transform(image=image, mask=mask2)['image']
# 显示结果
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 5))
plt.subplot(1, 3, 1)
plt.imshow(image)
plt.title("Original Image")
plt.subplot(1, 3, 2)
plt.imshow(augmented_image1)
plt.title("Augmented Image with Small Mask")
plt.subplot(1, 3, 3)
plt.imshow(augmented_image2)
plt.title("Augmented Image with Large Mask")
plt.show()
在这个示例中,我们首先加载了一张图像,并创建了两个不同大小的蒙版。然后,我们定义了一个 Albumentations 变换,其中包括亮度对比度调整、平移缩放旋转以及粗略遮挡。最后,我们将变换应用于原始图像和两个蒙版,并显示结果。
领取专属 10元无门槛券
手把手带您无忧上云