使用numpy实现矩阵的翻转(flip)与旋转


Posted in Python onJune 03, 2021

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 相关文章推荐
Python基于Tkinter实现的记事本实例
Jun 17 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
pandas 对每一列数据进行标准化的方法
Jun 09 Python
python安装twisted的问题解析
Aug 21 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
Nov 14 Python
对pandas通过索引提取dataframe的行方法详解
Feb 01 Python
Python3 翻转二叉树的实现
Sep 30 Python
Tensorflow分批量读取数据教程
Feb 07 Python
python实现一个猜拳游戏
Apr 05 Python
python如何输出反斜杠
Jun 18 Python
利用python绘制正态分布曲线
Jan 04 Python
Python使用openpyxl复制整张sheet
Mar 24 Python
详解Python生成器和基于生成器的协程
实例讲解Python中sys.argv[]的用法
Jun 03 #Python
Django与数据库交互的实现
Jun 03 #Python
Python代码风格与编程习惯重要吗?
Jun 03 #Python
python 经纬度求两点距离、三点面积操作
Jun 03 #Python
如何使用PyCharm及常用配置详解
python for循环赋值问题
Jun 03 #Python
You might like
php实现ping
2006/10/09 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
python实现简单登陆系统
2018/10/18 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python实现证件照换底功能
2019/08/20 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
Python ellipsis 的用法详解
2020/11/20 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
电子商务专业自我鉴定
2013/12/18 职场文书
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
医院院务公开实施方案
2014/05/03 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
学习心理学心得体会
2016/01/22 职场文书