使用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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
从Python程序中访问Java类的简单示例
Apr 20 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
用Python解决x的n次方问题
Feb 08 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python中对_init_的理解及实例解析
Oct 11 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 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
体育彩票排列三组选三算法分享
2014/03/07 PHP
php生成图片验证码
2015/06/09 PHP
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
python操作xml文件示例
2014/04/07 Python
python中urllib模块用法实例详解
2014/11/19 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
python使用turtle库绘制树
2018/06/25 Python
python读取和保存图片5种方法对比
2018/09/12 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
解决python3输入的坑——input()
2020/12/05 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
部队学习十八大感言
2014/01/11 职场文书
班长自荐书范文
2014/02/11 职场文书
司法局火灾防控方案
2014/06/05 职场文书
电子专业自荐信
2014/07/01 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年妇联工作总结
2014/11/21 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
感恩教育主题班会
2015/08/12 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
基于docker安装zabbix的详细教程
2022/06/05 Servers