精华内容
下载资源
问答
  • numpy翻转数组

    千次阅读 2019-04-24 11:58:14
    Python数据分析:numpy翻转数组 函数 描述 transpose 对换数组的维度 ndarray.T 转置 rollaxis 向后滚动指定的轴 swapaxes 对换数组的两个轴 numpy.transpose 对换数组的维度 numpy.transpose(arr, ...

    numpy翻转数组

    函数描述
    transpose对换数组的维度
    ndarray.T转置
    rollaxis向后滚动指定的轴
    swapaxes对换数组的两个轴
    numpy.transpose 对换数组的维度
    numpy.transpose(arr, axes)
    
    • arr:要操作的数组
    • axes:整数列表,对应维度,通常所有维度都会对换
    import numpy as np
     
    a = np.arange(12).reshape(3,4)
     
    print ('原数组:')
    print (a )
    print ('--------------------')
     
    print ('维度对换之后数组(4,3):')
    print (np.transpose(a))
    

    运行结果:
    在这里插入图片描述

    numpy.ndarray.T 类似 numpy.transpose
    import numpy as np
     
    a = np.arange(12).reshape(3,4)
     
    print ('原数组:')
    print (a)
    print ('--------------------')
     
    print ('转置数组:')
    print (a.T)
    

    运行结果:
    在这里插入图片描述

    numpy.rollaxis 向后滚动特定的轴到一个特定位置
    numpy.rollaxis(arr, axis, start)
    
    • arr:数组
    • axis:要向后滚动的轴,其它轴的相对位置不会改变
    • start:默认为零,表示完整的滚动。会滚动到特定位置
    import numpy as np
     
    # 创建了三维的 ndarray
    a = np.arange(8).reshape(2,2,2)
     
    print ('原数组:')
    print (a)
    print ('--------------------')
    
    # 将轴 2 滚动到轴 0(宽度到深度)
    print ('调用 rollaxis 函数:')
    print (np.rollaxis(a,2))
    print ('--------------------')
    
    # 将轴 0 滚动到轴 1:(宽度到高度) 
    print ('调用 rollaxis 函数:')
    print (np.rollaxis(a,2,1))
    

    运行结果:
    在这里插入图片描述

    numpy.swapaxes 交换数组的两个轴
    numpy.swapaxes(arr, axis1, axis2)
    
    import numpy as np
     
    # 创建了三维的 ndarray
    a = np.arange(8).reshape(2,2,2)
     
    print ('原数组:')
    print (a)
    print ('--------------------')
    
    # 现在交换轴 0(深度方向)到轴 2(宽度方向)
    print ('调用 swapaxes 函数后的数组:')
    print (np.swapaxes(a, 2, 0))
    

    运行结果:
    在这里插入图片描述
    参考:http://www.runoob.com/numpy

    展开全文
  • 使用numpy模块对numpy.ndarray表示的图像左右翻转,即沿y轴翻转,函数为: numpy.fliplr(img) 示例 import cv2 import numpy as np img = cv2.imread("img.bmp", 1) img_lr = np.fliplr(img)

    [1]使用numpy模块对numpy.ndarray表示的图像左右翻转,即沿y轴翻转180度,函数为:
    numpy.fliplr(img)

    [2]使用numpy模块对numpy.ndarray表示的图像上下翻转,即沿x轴翻转180度,函数为:
    numpy.fliplr(img)

    注:图像数据组织形式应为 h e i g h t × w i d t h × c h a n n e l height \times width \times channel height×width×channel
    示例

    In [1]: import cv2
    In [2]: import numpy as np
    
    In [3]: img    = cv2.imread("img.bmp", 1)
    In [4]: type(img), img.shape
    Out[4]: (numpy.ndarray, (331, 500, 3))
    # 左右翻转
    In [5]: img_lr = np.fliplr(img)
    # 上下翻转
    In [6]: img_ud = np.flipud(img)
    

    左右翻转图像
    左右翻转图像
    上下翻转图像
    上下翻转图像

    展开全文
  • numpy-翻转数组

    2021-10-21 10:12:12
    函数 描述 transpose 对换数组的维度 ndarray.T 和self.transpose()相同 rollaxis 向后滚动指定的轴 swapaxes 对换数组的两个轴 1....2.使用ndarray.T 类似 numpy.trans...
    函数描述
    transpose对换数组的维度
    ndarray.T和 self.transpose() 相同
    rollaxis向后滚动指定的轴
    swapaxes对换数组的两个轴

    1.使用transpose 函数用于对换数组的维度,格式如下:

    numpy.transpose(arr, axes)

    参数说明:

    • arr:要操作的数组
    • axes:整数列表,对应维度,通常所有维度都会对换。

     2.使用ndarray.T 类似 numpy.transpose:

     3.使用rollaxis 函数向后滚动特定的轴到一个特定位置,格式如下:

    numpy.rollaxis(arr, axis, start)

    参数说明:

    • arr:数组
    • axis:要向后滚动的轴,其它轴的相对位置不会改变
    • start:默认为零,表示完整的滚动。会滚动到特定位置。

    4.使用swapaxes 函数用于交换数组的两个轴,格式如下: 

    numpy.swapaxes(arr, axis1, axis2)
    • arr:输入的数组
    • axis1:对应第一个轴的整数
    • axis2:对应第二个轴的整数

     

    展开全文
  • numpy 数组的旋转、上下翻转、镜像

    万次阅读 多人点赞 2019-07-28 09:27:04
    常见的数组翻转等方法 函数 描述 transpose 对换数组的维度 ndarray.T 转置 rollaxis 向后滚动指定的轴 swapaxes 对换数组的两个轴 np.transpose(),numpy.array.T import numpy as np arr0 = np....

    一、常见的数组翻转等方法

    函数描述
    transpose对换数组的维度
    ndarray.T转置
    rollaxis向后滚动指定的轴
    swapaxes对换数组的两个轴
    np.transpose(),numpy.array.T
    import numpy as np
    
    
    arr0 = np.arange(12).reshape(3, 4)
    arr2 = np.transpose(arr0)
    arr3 = arr0.T
    
    print('arr0 原数组:\n', arr0,'\n')
    print('arr2 维度对换之后:\n', arr2,'\n')
    print('arr3 数组转置:\n', arr3,'\n')
    '''
    arr0 原数组:
     [[ 0  1  2  3]
      [ 4  5  6  7]
      [ 8  9 10 11]] 
    
    arr2 维度对换之后:(显然与转置效果arr3相同)
     [[ 0  4  8]
      [ 1  5  9]
      [ 2  6 10]
      [ 3  7 11]] 
    
    arr3 数组转置:
     [[ 0  4  8]
      [ 1  5  9]
      [ 2  6 10]
      [ 3  7 11]] 
    
    '''
    
    np.rollaxis(),np.swapaxes() 数组滚动与维度交换
    arr1 = np.arange(18).reshape(2,3,3)
    arr4_0 = np.rollaxis(arr1,0,2)
    arr4_1 = np.rollaxis(arr1,2,1)
    
    print('arr1 原数组:\n', arr1,'\n')
    print('arr4_0 向后滚动特定的轴到一个特定位置:\n', arr4_0,'\n')
    print('arr4_1 向后滚动特定的轴到一个特定位置:\n', arr4_1,'\n')
    
    arr5_0 = np.swapaxes(arr1, 0, 1)
    arr5_1 = np.swapaxes(arr1, 1, 2)
    print('arr5_0交换数组的两个轴:\n', arr5_0,'\n')
    print('arr5_1交换数组的两个轴:\n', arr5_1,'\n')
    '''
    arr1 原数组:
     [[[ 0  1  2]
       [ 3  4  5]
       [ 6  7  8]]
    
      [[ 9 10 11]
       [12 13 14]
       [15 16 17]]] 
    
    arr4_0 向后滚动特定的轴到一个特定位置:(与arr5_0 效果相同)
     [[[ 0  1  2]
       [ 9 10 11]]
    
      [[ 3  4  5]
       [12 13 14]]
    
      [[ 6  7  8]
       [15 16 17]]] 
    
    arr4_1 向后滚动特定的轴到一个特定位置:(与arr5_1 效果相同)
     [[[ 0  3  6]
      [ 1  4  7]
      [ 2  5  8]]
    
      [[ 9 12 15]
       [10 13 16]
       [11 14 17]]] 
    
    arr5_0交换数组的两个轴:
     [[[ 0  1  2]
      [ 9 10 11]]
    
      [[ 3  4  5]
       [12 13 14]]
    
      [[ 6  7  8]
       [15 16 17]]] 
    
    arr5_1交换数组的两个轴:
     [[[ 0  3  6]
      [ 1  4  7]
      [ 2  5  8]]
    
      [[ 9 12 15]
       [10 13 16]
       [11 14 17]]]
    '''
    

    二、数组旋转(自定义psf2otf 卷积核用的)

    import numpy as np
    
    
    def flip180(arr):
        new_arr = arr.reshape(arr.size)
        new_arr = new_arr[::-1]
        new_arr = new_arr.reshape(arr.shape)
        return new_arr
    
    def flip90_left(arr):
        new_arr = np.transpose(arr)
        new_arr = new_arr[::-1]
        return new_arr
    
    def flip90_right(arr):
        new_arr = arr.reshape(arr.size)
        new_arr = new_arr[::-1]
        new_arr = new_arr.reshape(arr.shape)
        new_arr = np.transpose(new_arr)[::-1]
        return new_arr
    
    arr0 = np.array([[1,2,3],
                     [4,5,6],
                     [7,8,9]])
    
    flip_180 = flip180(arr0)
    left_90 = flip90_left(arr0)
    right_90 = flip90_right(arr0)
    
    print('===== flip_180 ====\n',flip_180,'\n')
    print('===== left_90 =====\n',left_90,'\n')
    print('===== right_90 =====\n',right_90,'\n')
    '''
    ===== flip_180 ====
     [[9 8 7]
     [6 5 4]
     [3 2 1]] 
    
    ===== left_90 =====
     [[3 6 9]
     [2 5 8]
     [1 4 7]] 
    
    ===== right_90 =====
     [[7 4 1]
     [8 5 2]
     [9 6 3]] 
    '''
    
    numpy 矩阵左右翻转/上下翻转

    flip() (in module numpy)
    fliplr() (in module numpy)
    flipud() (in module numpy)

    flip:
    flip(m, 0) is equivalent to flipud(m).
    flip(m, 1) is equivalent to fliplr(m).
    flip(m, n) corresponds to m[…,::-1,…] with ::-1 at position n.
    flip(m) corresponds to m[::-1,::-1,…,::-1] with ::-1 at all positions.
    flip(m, (0, 1)) corresponds to m[::-1,::-1,…] with ::-1 at position 0 and position 1.
    >>> A = np.array([[[0, 1],
    				   [2, 3]],
    				  [[4, 5],
    				   [6, 7]]])
    
    >>> flip(A, 0)
    array([[[4, 5],
            [6, 7]],
           [[0, 1],
            [2, 3]]])
    		
    >>> flip(A, 1)
    array([[[2, 3],
            [0, 1]],
           [[6, 7],
            [4, 5]]])
    		
    >>> np.flip(A)
    array([[[7, 6],
            [5, 4]],
           [[3, 2],
            [1, 0]]])
    		
    >>> np.flip(A, (0, 2))
    array([[[5, 4],
            [7, 6]],
           [[1, 0],
            [3, 2]]])
    
    >>> A = np.random.randn(3,4,5)
    >>> np.all(flip(A,2) == A[:,:,::-1,...])
    True
    

    flipud: (==flip(m, 1) )

    >>> A = np.diag([1.0, 2, 3])
    >>> A
    array([[ 1.,  0.,  0.],
           [ 0.,  2.,  0.],
           [ 0.,  0.,  3.]])
           
    >>> np.flipud(A)
    array([[ 0.,  0.,  3.],
           [ 0.,  2.,  0.],
           [ 1.,  0.,  0.]])
    
    >>> A = np.random.randn(2,3,5)
    >>> np.all(np.flipud(A) == A[::-1,...])
    True
    
    >>> np.flipud([1,2])
    array([2, 1])
    

    fliplr: (==flip(m, 0))

    >>> A = np.diag([1.,2.,3.])
    >>> A
    array([[ 1.,  0.,  0.],
           [ 0.,  2.,  0.],
           [ 0.,  0.,  3.]])
           
    >>> np.fliplr(A)
    array([[ 0.,  0.,  1.],
           [ 0.,  2.,  0.],
           [ 3.,  0.,  0.]])
    
    >>> A = np.random.randn(2,3,5)
    >>> np.all(np.fliplr(A) == A[:,::-1,...])
    True
    

    特别鸣谢:
    https://www.cnblogs.com/xiaoniu-666/p/11123560.html
    https://blog.csdn.net/kane7csdn/article/details/83928848

    展开全文
  • python numpy 矩阵左右翻转/上下翻转

    千次阅读 2019-07-02 22:31:00
    numpy API: flattened flip() (in module numpy) fliplr() (in module numpy) flipud() (in module numpy) flip: flip(m, 0) is equivalent to flipud(m). flip(m, 1) is equivalent to fliplr(m...
  • numpy矩阵的旋转与翻转

    千次阅读 2021-01-15 16:57:35
    使用skimage.io读出来的图片是numpy.darray格式,掌握numpy矩阵的旋转与翻转,可实现数据增广(data augmentation)。 1 Numpy矩阵的旋转 参考文档NumPy矩阵的旋转,可用rot90函数实现,例子如下: import numpy as ...
  • 翻转数组 numpy.fliplr()和numpy.flipud() 功能: numpy.fliplr():向左/向右翻转数组。 numpy.flipud():向上/向下翻转数组。 语法: numpy.fliplr(array) numpy.flipud(array) 参数array:Input array, must be ...
  • NumPy

    2018-07-24 22:10:52
    目录 NumPy - Ndarray 对象 NumPy数据类型 数据类型对象 (dtype) NumPy数组属性 ...NumPy数组创建例程 ...NumPy - 来自现有数据的数组 ...NumPy - 来自数值范围的数组 ...NumPy - 切片和索引 ...翻转操作 修...
  • Numpy数组的翻转周转

    2020-03-18 11:06:03
    self.img = np.zeros([67, 512, 1]) self.img.transpose(1, 0, 2) 就会变成[512, 67, 1] 要是这个数组转换出来的imagedata,plot后发现反转了,那就得考虑一下给他的xyz轴转换一下~ self.image = np.flip(self.img, ...
  • numpy中矩阵的翻转(flip)

    万次阅读 2020-01-18 20:39:14
    如何对矩阵进行翻转 首先,我们先随机生成一个3X3的矩阵 用法 numpy.flip(m, axis=None)[source] Reverse the order of elements in an array along the given axis. The shape of the array is preserved, but the ...
  • numpy

    2020-08-29 21:00:53
    什么是numpy? 》一个在python中做科学计算的基础库,重在数值计算,也是大部分python科学计算库的基础库,多用于大型、多维数组上执行数值运算 一、数组(numpy)的创建和基本使用 》代码讲解 import numpy as np ...
  • # 创建一个包含1-10中所有整数的向量,并对3-8之间的元素取相反数,即输出[1,2,-3,-4,-5,-6,-7,-8,9] import numpy as np a = np.arange(1, 10) a = np.where(3 , -a, a) print(a) 要求如注释,报错如下 写成a = np....
  • fliplr(m) Flip array in the left/right direction. >>> A = np.diag([1.,2.,3.]) >>> A array([[1., 0., 0.], [0., 2., 0.], [0., 0., 3.]]) >>>...Flip array in the

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,848
精华内容 3,539
关键字:

翻转numpy