【图像增强】图像分割中Albumentations同时增强原图与掩码

深度学习中比较常用的是数据增强库是torchvision.transforms
今天发现了另一个增强库叫Albumentations
  其开源、快速、简单且增强方式很多:图像增强库Albumentations使用总结
  最重要的是可以同时增强图像及其掩码,边界框或关键点位置

话不多说先安装:

pip install albumentations

实验:图片来自息肉分割数据集

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import cv2
import albumentations as A


img = Image.open('./tupian/image.jpg').convert('RGB')
img = np.uint8(img)

mask = Image.open('./tupian/mask.jpg').convert('L')
mask = np.uint8(mask)
mask = mask / 255.0

transform = A.Compose([A.ShiftScaleRotate(shift_limit=0.15, scale_limit=0.15, 
                                          rotate_limit=25, p=0.5, border_mode=0),
                       A.ColorJitter(),
                       A.HorizontalFlip(),
                       A.VerticalFlip()])

transformed = transform(image=img, mask=mask)

img_A = transformed['image']
mask_A = transformed['mask']

plt.figure()
plt.subplot(2,2,1),plt.imshow(img)
plt.axis('off'),plt.title('原图')
plt.subplot(2,2,2),plt.imshow(mask, 'gray')
plt.axis('off'),plt.title('原掩码')
plt.subplot(2,2,3),plt.imshow(img_A)
plt.axis('off'),plt.title('变换后原图')
plt.subplot(2,2,4),plt.imshow(mask_A, 'gray')
plt.axis('off'),plt.title('变换后掩码')
plt.show()

效果:
【图像增强】图像分割中Albumentations同时增强原图与掩码_第1张图片
一秒钟可运行两次,每次运行都有新感觉:
【图像增强】图像分割中Albumentations同时增强原图与掩码_第2张图片

你可能感兴趣的:(计算机视觉,深度学习,python,图像处理)