python实现常用的旋转 + 翻转 等8种数据增强
主要就两个操作搭配:
arr[::-1] or arr[:, ::-1] # reverse
以及
np.transpose(img, axes=(1,0)) # 交换坐标轴:[H,W]=>[W,H]
如果是RGB:
np.transpose(img, axes(1,0,2))
from skimage import io
import numpy as np
from matplotlib import pyplot as plt
%matplotlib
img = io.imread('im_gt.png')
img0 = img[::-1,...]
img1 = img[:,::-1]
img2 = img[::-1,::-1]
img3 = np.transpose(img, axes=(1,0))
img4 = np.transpose(img0, axes=(1,0))
img5 = np.transpose(img1, axes=(1,0))
img6 = np.transpose(img2, axes=(1,0))
plt.subplot(241)
plt.axis('off')
plt.imshow(img, cmap='gray')
plt.subplot(242)
plt.axis('off')
plt.imshow(img0, cmap='gray')
plt.subplot(243)
plt.axis('off')
plt.imshow(img1, cmap='gray')
plt.subplot(244)
plt.axis('off')
plt.imshow(img2, cmap='gray')
plt.subplot(245)
plt.axis('off')
plt.imshow(img3, cmap='gray')
plt.subplot(246)
plt.axis('off')
plt.imshow(img4, cmap='gray')
plt.subplot(247)
plt.axis('off')
plt.imshow(img5, cmap='gray')
plt.subplot(248)
plt.axis('off')
plt.imshow(img6, cmap='gray')
plt.show()