python 学习: np.pad

在NumPy中,np.pad函数用于对数组进行填充(padding),即在数组的边界处添加额外的值。这在图像处理、信号处理或任何需要扩展数据边界的场景中非常有用。

以下是np.pad函数的一些关键参数和使用示例:

  • array:需要进行填充的原始数组。
  • pad_width:指定每个轴在开始和结束两侧的填充大小。可以是一个整数或一对整数的序列。
  • mode:指定填充模式,常用的模式有:
    • ‘constant’:用常数值填充(默认值为0)。
    • ‘edge’:用最接近边缘的值填充。
    • ‘linear_ramp’:线性递增或递减填充。
    • ‘maximum’:用最大值填充。
    • ‘mean’:用均值填充。
    • ‘median’:用中位数填充。
    • ‘reflect’:反射填充。
    • ‘wrap’:环绕填充。
    • ‘empty’:填充数组的元素为np.nan。

案例

K = array([[2.43096948e+03, 0.00000000e+00, 1.91533228e+03],
       [0.00000000e+00, 2.42685107e+03, 1.08930408e+03],
       [0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])

cam2img = np.pad(K,((0,1),(0,1)),'constant',constant_values = 0)
>> array([[2.43096948e+03, 0.00000000e+00, 1.91533228e+03, 0.00000000e+00],
       [0.00000000e+00, 2.42685107e+03, 1.08930408e+03, 0.00000000e+00],
       [0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
       [0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])

在NumPy中,np.pad函数的调用np.pad(K, ((0,1),(0,1)), ‘constant’, constant_values=0)表示对数组K进行填充,其中K是一个二维数组(矩阵)。这个调用指定了在每个轴上的填充宽度,并且使用了常数值填充模式。

这里是参数的详细解释:

  • K:需要进行填充的原始二维数组。
  • ((0,1),(0,1)):这是一个元组,包含了两个元组,分别表示在两个轴上的填充宽度。
    • 第一个内元组(0,1)表示在第一个轴()上,开始处不填充,结束处填充1个单位;第二个内元组(0,1)表示在第二个轴()上,也是开始处不填充,结束处填充1个单位
  • constant:填充模式,表示使用常数值进行填充。
  • constant_values=0:指定填充使用的常数值为0。
cam2img[-1,-1] = 1
array([[2.43096948e+03, 0.00000000e+00, 1.91533228e+03, 0.00000000e+00],
       [0.00000000e+00, 2.42685107e+03, 1.08930408e+03, 0.00000000e+00],
       [0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
       [0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])

实现了对cam2img由3x3变换维4x4维

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@BangBang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值