numpy.pad()函数用法

numpy.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字符串或用户提供的函数)
kwargs:定值扩充(定值由kwars传入)

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

1.(都是对当时的那一行(列)来说,最大值,最小值等等)
比如:
array([[1, 2],
[3, 4]])
np.pad(B,((1,2),(2,1)),‘maximum’)
array([[4, 4, 3, 4, 4],
[2, 2, 1, 2, 2],
[4, 4, 3, 4, 4],
[4, 4, 3, 4, 4],
[4, 4, 3, 4, 4]])
这里对第一维(高度)上边填1行,下边填2行,刚刚填完应该是
array([[ 3, 4],
[1, 2],
[3, 4],
[3, 4],
[3, 4]])
都是取得当列的最大值。对左右填充的时候也是这样。

2.填充值说明:

  • 一维数组的话constant_values=(0,2)表示对前面填0,后面填2。
    例:ndarray=np.pad(array,(1,2),’constant’, constant_values=(0,2))
    array [1 1 1] ——> ndarray= [0 1 1 1 2 2]

  • 二维数组的话constant_values=(0,2)表示对第一维填充值是0,第二维填充值为2。
    例:ndarray=np.pad(array,((1,1),(2,2)),‘constant’, constant_values=(0,2))
    array
    [[1 1]
    [2 2]]

——>
ndarray=
[[0 0 0 0 2 2]
[0 0 1 1 2 2]
[0 0 2 2 2 2]
[0 0 2 2 2 2]]

3.图像四周填充说明:
N, C, H, W = img.shape

img = np.pad(img, ((0, 0), (0, 0), (p, p), (p, p)), ‘constant’)
表示前两个维度不需要pad,后两个维度,也就是第三维的高度的最上面p行和最下面p行填充,第四维宽度,就是最左边p列和最右边p列填充。
constant’——表示连续填充相同的值,每个轴可以分别指定填充值,constant_values=(x, y)时前面用x填充,后面用y填充,缺省值填充0。
因此这里就意为对img的四周填充进行p圈的零填充。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值