使用skimage.io读出来的图片是numpy.darray格式,掌握numpy矩阵的旋转与翻转,可实现数据增广(data augmentation)。
1 Numpy矩阵的旋转
参考文档NumPy矩阵的旋转,可用rot90函数实现,例子如下:
import numpyas 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 numpyas 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是图片,那么可视化效果更好。