使用skimage.io读出来的图片是numpy.darray格式,掌握numpy矩阵的旋转与翻转,可实现数据增广(data augmentation)。
1 Numpy矩阵的旋转
参考文档NumPy矩阵的旋转,可用rot90函数实现,例子如下:
import numpy as np
mat = np.array([[1,3,5],
[2,4,6],
[7,8,9]
])
print mat, "# orignal"
mat90 = np.rot90(mat, 1)
print mat90, "# rorate 90 <left> anti-clockwise"
mat90 = np.rot90(mat, -1)
print mat90, "# rorate 90 <right> clockwise"
mat180 = np.rot90(mat, 2)
print mat180, "# rorate 180 <left> anti-clockwise"
mat270 = np.rot90(mat, 3)
print mat270, "# rorate 270 <left> anti-clockwise"
如果mat是图片,那么可视化效果更好。
2 Numpy矩阵的翻转
参考博文《numpy中矩阵的翻转(flip)》,可用numpy.flip函数实现,例子如下:
import numpy as np
a=np.random.randint(1,9,size=9).reshape((3,3))
print(a)
print(np.flip(a,axis=0)) # axis=0:上下翻转,意味着把行看成整体,行的顺序发生颠倒,每一行的元素不发生改变
print(np.flip(a,axis=1)) # axis=1:左右翻转,意味着把列看成整体,列的顺序发生颠倒,每一列的元素不发生改变
如果mat是图片,那么可视化效果更好。