使用numpy實現(xiàn)矩陣的翻轉(flip)與旋轉
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進行顛倒
示例
隨機生成一個二維數(shù)組
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:上下翻轉,意味著把行看成整體,行的順序發(fā)生顛倒,每一行的元素不發(fā)生改變
print(np.flip(a,axis=0))
[[8 7 8]
[3 1 7]
[5 8 6]]
axis=1:左右翻轉,意味著把列看成整體,列的順序發(fā)生顛倒,每一列的元素不發(fā)生改變
print(np.flip(a,axis=1))
[[6 8 5]
[7 1 3]
[8 7 8]]
Numpy矩陣的旋轉
使用skimage.io讀出來的圖片是numpy.darray格式,掌握numpy矩陣的旋轉與翻轉,可實現(xiàn)數(shù)據(jù)增廣(data augmentation)。
可用rot90函數(shù)實現(xiàn),例子如下:
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是圖片,那么可視化效果更好。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python?配置uwsgi?啟動Django框架的詳細教程
這篇文章主要介紹了python?配置uwsgi?啟動Django框架,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12
pycharm 如何取消連按兩下shift出現(xiàn)的全局搜索
這篇文章主要介紹了pycharm 如何取消連按兩下shift出現(xiàn)的全局搜索?下面小編就為大家介紹一下解決方法,還等什么?一起跟隨小編過來看看吧2021-01-01
Python ORM框架SQLAlchemy學習筆記之數(shù)據(jù)查詢實例
這篇文章主要介紹了Python ORM框架SQLAlchemy學習筆記之數(shù)據(jù)查詢實例,需要的朋友可以參考下2014-06-06
2023巨詳細的Python安裝庫教程(以pycharm和Anaconda安裝pygame為例)
這篇文章主要給大家介紹了巨詳細的Python安裝庫教程,文中以pycharm和Anaconda安裝pygame為例,通過圖文介紹的非常詳細,需要的朋友可以參考下2024-01-01

