使用numpy实现矩阵的翻转(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进行颠倒
示例
随机生成一个二维数组
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:上下翻转,意味着把行看成整体,行的顺序发生颠倒,每一行的元素不发生改变
print(np.flip(a,axis=0))
[[8 7 8]
[3 1 7]
[5 8 6]]
axis=1:左右翻转,意味着把列看成整体,列的顺序发生颠倒,每一列的元素不发生改变
print(np.flip(a,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是图片,那么可视化效果更好。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python 配置uwsgi 启动Django框架的详细教程
这篇文章主要介绍了python 配置uwsgi 启动Django框架,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-12-12
Python ORM框架SQLAlchemy学习笔记之数据查询实例
这篇文章主要介绍了Python ORM框架SQLAlchemy学习笔记之数据查询实例,需要的朋友可以参考下2014-06-06
2023巨详细的Python安装库教程(以pycharm和Anaconda安装pygame为例)
这篇文章主要给大家介绍了巨详细的Python安装库教程,文中以pycharm和Anaconda安装pygame为例,通过图文介绍的非常详细,需要的朋友可以参考下2024-01-01


最新评论