当前位置: 首页 > news >正文

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维

http://www.lryc.cn/news/414335.html

相关文章:

  • 等保2.0 | 人大金仓数据库测评
  • AIGC赋能智慧农业:用AI技术绘就作物生长新蓝图
  • yolov8蒸馏(附代码-免费)
  • Flink-StarRocks详解:第五部分查询数据湖(第55天)
  • 【MySQL】常用数据类型
  • 创建第一个rust tauri项目
  • 【课程总结】day19(中):Transformer架构及注意力机制了解
  • 4.4 标准正交基和格拉姆-施密特正交化
  • spring事务的8种失效的场景,7种传播行为
  • 进程的虚拟内存地址(C++程序的内存分区)
  • 英特尔移除超线程与AMD多线程性能对比
  • 定期自动巡检,及时发现机房运维管理中的潜在问题
  • 八股文(一)
  • 灵茶八题 - 子数组 ^w^
  • git clone private repo
  • vue3+ts+pinia+vant-项目搭建
  • 自动化测试概念篇
  • Mojo值的生命周期(Life of a value)详解
  • java对接kimi详细说明,附完整项目
  • 鸿蒙媒体开发【基于AVCodec能力的视频编解码】音频和视频
  • django集成pytest进行自动化单元测试实战
  • 48天笔试训练错题——day40
  • LabVIEW在DCS中的优势
  • 英特尔:从硅谷创业到全球科技巨头
  • 生物计算与纳米技术:交汇前沿的科学领域
  • C#中栈和队列
  • 技战法丨攻防演练防御——纵深、联动、诱捕(可搬运、可cv)
  • 1、 window平台opencv下载编译, 基于cmake和QT工具链
  • C++20三向比较运算符详解
  • 监听机制与耗电量