从NumPy的官方完整查到rot90函数语法格式如下:

rot90(m, k=1, axes=(0, 1)

m是要旋转的数组(矩阵),k是旋转的次数,默认旋转1次,那是顺时针还是逆时针呢?正数表示逆时针,而k为负数时则是对数组进行顺时针方向的旋转。axes是由坐标轴定义的平面,旋转轴垂直于该平面,坐标轴必须不同,用于三维矩阵的旋转。

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"

执行结果:

[[1 3 5]
 [2 4 6]
 [7 8 9]] # orignal
[[5 6 9]
 [3 4 8]
 [1 2 7]] # rorate 90 <left> anti-clockwise
[[7 2 1]
 [8 4 3]
 [9 6 5]] # rorate 90 <right> clockwise
[[9 8 7]
 [6 4 2]
 [5 3 1]] # rorate 180 <left> anti-clockwise
[[7 2 1]
 [8 4 3]
 [9 6 5]] # rorate 270 <left> anti-clockwise

三维矩阵围绕Z轴旋转:

import  numpy as np

if __name__ == '__main__':
    weights = np.array(
        [[[-1, 1, 0],
          [0, 1, 0],
          [0, 1, 1]],
         [[-1, -1, 0],
          [0, 0, 0],
          [0, -1, 0]],
         [[0, 0, -1],
          [0, 1, 0],
          [1, -1, -1]]], dtype=np.float64)
    flipped_weights = np.rot90(weights, 2 , (1,2))
    print(flipped_weights)

执行结果:

[[[ 1.  1.  0.]
  [ 0.  1.  0.]
  [ 0.  1. -1.]]
 [[ 0. -1.  0.]
  [ 0.  0.  0.]
  [ 0. -1. -1.]]
 [[-1. -1.  1.]
  [ 0.  1.  0.]
  [-1.  0.  0.]]]

参考:

http://liao.cpython.org/numpy13/

https://blog.csdn.net/weixin_39506322/article/details/89463286

最新文章

  1. Jenkins的插件管理(安装和更新插件)
  2. Database Schema Reader
  3. x86架构的android手机兼容性问题
  4. Objective-C objc_class 介绍
  5. 加速Eclipse使其成为超快的IDE
  6. Inno Setup入门(十一)——完成安装后执行某些程序
  7. @media_screen
  8. UVA 10054 The Necklace
  9. fpm 配置详解
  10. 创建oracle数据库的表空间、用户、目录、导入\导出文件等信息
  11. 笨鸟先飞之ASP.NET MVC系列之过滤器(03动作过滤器过滤器)
  12. 前端开发-1React-1概述
  13. 宝塔MySQL服务自动停止重启的解决方法
  14. 洛谷P2770 双路DP // 网络流
  15. 使用 maven-assembly-plugin 打包项目
  16. vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效解决方法
  17. iOS UI进阶-1.1 Quartz2D 图片水印/裁剪/截图
  18. First Date (hnoj12952)日期计算
  19. 【转】Java学习---Java Web基础面试题整理
  20. GoldenGate 12c + Oracle 12c Multitenant Container databases

热门文章

  1. UVA 12097 Pie(二分答案)
  2. Oracle空表的分配segment
  3. 2020最新版idea激活教程
  4. if a != None:
  5. bugku 你必须让他停下
  6. c++工程编译记录
  7. 作业2:go实现一个压测工具,具备upload功能
  8. RedHat7 / CentOS 7 忘记root密码修改
  9. C语言最重要的知识点(电子文档)
  10. 【Vue实例生命周期】