numpy.flip(m, axis=None)
Reverse the order of elements in an array along the given axis.
The shape of the array is preserved, but the elements are reordered.
把m在axis維度進行切片,并把這個維度的index進行顛倒
示例
隨機生成一個二維數組
import numpy as np
a=np.random.randint(1,9,size=9).reshape((3,3))
[[5 8 6]
[3 1 7]
[8 7 8]]
axis=0:上下翻轉,意味著把行看成整體,行的順序發生顛倒,每一行的元素不發生改變
[[8 7 8]
[3 1 7]
[5 8 6]]
axis=1:左右翻轉,意味著把列看成整體,列的順序發生顛倒,每一列的元素不發生改變
[[6 8 5]
[7 1 3]
[8 7 8]]
Numpy矩陣的旋轉
使用skimage.io讀出來的圖片是numpy.darray格式,掌握numpy矩陣的旋轉與翻轉,可實現數據增廣(data augmentation)。
可用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是圖片,那么可視化效果更好。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Numpy實現矩陣運算及線性代數應用
- numpy數組合并和矩陣拼接的實現
- numpy和tensorflow中的各種乘法(點乘和矩陣乘)
- NumPy 矩陣乘法的實現示例
- 從Pytorch模型pth文件中讀取參數成numpy矩陣的操作
- Python numpy大矩陣運算內存不足如何解決