使用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 当前全局变量和入口参数的所有属性
Jul 01 Python
用Python编写一个简单的俄罗斯方块游戏的教程
Apr 03 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Tensorflow实现酸奶销量预测分析
Jul 19 Python
Python调用C语言的实现
Jul 26 Python
Python 硬币兑换问题
Jul 29 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
Python日志模块logging用法
Jun 05 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
PHP中使用curl入门教程
2015/07/02 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
PHP PDOStatement::fetchColumn讲解
2019/01/31 PHP
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
简单的网页广告特效实例
2017/08/19 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python translator使用实例
2008/09/06 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
python中set()函数简介及实例解析
2018/01/09 Python
德国自行车商店:Tretwerk
2019/06/21 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
历史学专业毕业生求职信
2013/09/27 职场文书
2013届毕业生求职信范文
2013/11/20 职场文书
学习标兵获奖感言
2014/02/20 职场文书
人事专员工作职责
2014/02/22 职场文书
动员大会主持词
2014/03/20 职场文书
选秀节目策划方案
2014/06/06 职场文书
市场调查策划方案
2014/06/10 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
离婚协议书怎么写
2015/01/26 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
在JavaScript中如何使用宏详解
2021/05/06 Javascript
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
Docker下安装Oracle19c
2022/04/13 Servers