使用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开启多个子进程并行运行的方法
Apr 18 Python
Python在Console下显示文本进度条的方法
Feb 14 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
python读写json文件的简单实现
Apr 11 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
想学python 这5本书籍你必看!
Dec 11 Python
python同时替换多个字符串方法示例
Sep 17 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
Python3爬虫关于识别检验滑动验证码的实例
Jul 30 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
Pytest中skip skipif跳过用例详解
Jun 30 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初学者们头痛的十四个问题
2007/01/15 PHP
PHP SOCKET编程详解
2015/05/22 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
如何在PHP中读写文件
2020/09/07 PHP
JQuery中each()的使用方法说明
2010/08/19 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
Python函数嵌套实例
2014/09/23 Python
python删除过期文件的方法
2015/05/29 Python
python图像常规操作
2017/11/11 Python
python Opencv将图片转为字符画
2021/02/19 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
汽车检测与维修专业求职信
2013/10/30 职场文书
团支书的期末学习总结自我评价
2013/11/01 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
访谈节目策划方案
2014/05/15 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
运动会口号16字
2014/06/07 职场文书
白莲教口号
2014/06/18 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
企业团队精神心得体会
2016/01/19 职场文书
python使用torch随机初始化参数
2022/03/22 Python