• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用numpy实现矩阵的翻转(flip)与旋转

    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是图片,那么可视化效果更好。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Numpy实现矩阵运算及线性代数应用
    • numpy数组合并和矩阵拼接的实现
    • numpy和tensorflow中的各种乘法(点乘和矩阵乘)
    • NumPy 矩阵乘法的实现示例
    • 从Pytorch模型pth文件中读取参数成numpy矩阵的操作
    • Python numpy大矩阵运算内存不足如何解决
    上一篇:详解Python生成器和基于生成器的协程
    下一篇:Python数据可视化之用Matplotlib绘制常用图形
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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