np.pad()函数解析

10 篇文章 0 订阅

np.pad()函数

方法参数:pad(array, pad_width, mode, **kwargs)

方法返回:填充后的数组

参数解释:
array:表示需要填充的数组;
pad_width:表示每个轴(axis)边缘需要填充的数值数目。
参数输入方式为:((before_1, after_1), … (before_N, after_N)),其中(before_1, after_1)表示第1轴两边缘分别填充before_1个和after_1个数值。
mode:表示填充的方式(取值:str字符串或用户提供的函数)

mode中的填充方式:
constant’——表示连续填充相同的值,每个轴可以分别指定填充值,constant_values=(x, y)时前面用x填充,后面用y填充,缺省值填充0
‘edge’——表示用边缘值填充
‘linear_ramp’——表示用边缘递减的方式填充
‘maximum’——表示最大值填充
‘mean’——表示均值填充
‘median’——表示中位数填
‘minimum’——表示最小值填充
‘reflect’——表示对称填充
‘symmetric’——表示对称填充
‘wrap’——表示用原数组后面的值填充前面,前面的值填充后面

代码实现

import numpy as np

arr3D = np.array([[[1, 1, 2, 2, 3, 4],
                   [1, 1, 2, 2, 3, 4],
                   [1, 1, 2, 2, 3, 4]],

                  [[0, 1, 2, 3, 4, 5],
                   [0, 1, 2, 3, 4, 5],
                   [0, 1, 2, 3, 4, 5]],

                  [[1, 1, 2, 2, 3, 4],
                   [1, 1, 2, 2, 3, 4],
                   [1, 1, 2, 2, 3, 4]]])

print('constant:  \n' + str(np.pad(arr3D, ((0,0),(1, 1),(2,2),), 'constant')))
# (0,0),    样本数,不填充
#(1, 1), 图像高度,你可以视为上面填充1个,下面填充1个
#(2,2),图像宽度,你可以视为左边填充2个,右边填充2个
#'constant' 表示填充值默认为0

结果:

constant:  
[[[0 0 0 0 0 0 0 0 0 0]
  [0 0 1 1 2 2 3 4 0 0]
  [0 0 1 1 2 2 3 4 0 0]
  [0 0 1 1 2 2 3 4 0 0]
  [0 0 0 0 0 0 0 0 0 0]]

 [[0 0 0 0 0 0 0 0 0 0]
  [0 0 0 1 2 3 4 5 0 0]
  [0 0 0 1 2 3 4 5 0 0]
  [0 0 0 1 2 3 4 5 0 0]
  [0 0 0 0 0 0 0 0 0 0]]

 [[0 0 0 0 0 0 0 0 0 0]
  [0 0 1 1 2 2 3 4 0 0]
  [0 0 1 1 2 2 3 4 0 0]
  [0 0 1 1 2 2 3 4 0 0]
  [0 0 0 0 0 0 0 0 0 0]]]
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值