ndimage.zoom

这可能是最好的方法,zoom method正是为这类任务而设计的。from scipy.ndimage import zoom

new_array = zoom(array, (0.5, 0.5, 2))

按指定的因子更改每个维度中的大小。如果数组的原始形状是(40, 50, 60),那么新的数组将是(20, 25, 120)。

信号重采样from scipy.signal import resample_poly

factors = [(1, 2), (1, 2), (2, 1)]

for k in range(3):

array = resample_poly(array, factors[k][0], factors[k][1], axis=k)

因子(必须是整数)是上下采样的。即:(1,2)是指尺寸除以2

(2,1)是指尺寸乘以2

(2,3)表示向上2,然后向下3,因此大小乘以2/3

可能的缺点是:这个过程在每个维度上都是独立的,因此空间结构可能不像ndimage方法那样被考虑在内。

RegularGridInterpolator

这是更实际的,但也更费力,而且没有过滤的好处:直接的下采样。我们必须为插值程序创建一个网格,在每个方向使用原始步长。创建内插器后,需要在新网格上对其求值;其调用方法采用不同的网格格式,使用mgrid准备。values = np.random.randint(0, 256, size=(40, 50, 60)).astype(np.uint8) # example

steps = [0.5, 0.5, 2.0] # original step sizes

x, y, z = [steps[k] * np.arange(array.shape[k]) for k in range(3)] # original grid

f = RegularGridInterpolator((x, y, z), values) # interpolator

dx, dy, dz = 1.0, 1.0, 1.0 # new step sizes

new_grid = np.mgrid[0:x[-1]:dx, 0:y[-1]:dy, 0:z[-1]:dz] # new grid

new_grid = np.moveaxis(new_grid, (0, 1, 2, 3), (3, 0, 1, 2)) # reorder axes for evaluation

new_values = f(new_grid)

缺点:例如,当一个维度减少2时,它实际上会每隔一个值下降一次,这就是简单的下采样。理想情况下,在这种情况下,应该平均相邻值。在信号处理方面,在{a5}中,低通滤波先于下采样。

python定义三维数组不指定长度_插值/调整三维数组大小相关推荐

  1. 删除数组中指定元素_如何删除PHP数组元素键值并重新排序

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 想要删除PHP数组中某个元素键值,然后重新规范索引排序.我们可以使用PHP中的内置函数uns ...

  2. php函数从数组中取出指定的数目,php截取数组的指定长度

    PHP中操作数组的函数有很多,今天就说一说PHP中截取数组的指定长度并做为一个新数组返回的函数array_slice() array_slice()函数定义与用法 array_slice():函数在数 ...

  3. java 获取排列组合_Java获得一个数组的指定长度排列组合算法示例

    本文实例讲述了Java获得一个数组的指定长度排列组合算法.分享给大家供大家参考,具体如下: package demo; import java.util.Stack; /** * JAVA获得一个数组 ...

  4. new 数组_编程-遍历数组元素N次/填充数组至指定长度

    需求如下: 有数组 names=["a","b","c"] 需要遍历数组元素n次,比如: n=2时,期待的输出为:a,b n=5时,期待的输 ...

  5. pta数据结构实验在数组中查找指定元素_如何从一个数组中查找指定的元素,并返回这个元素在数组中的位置...

    展开全部 和Vector都是使用Objec的数组形式来存储的.当你向这两种类型中增加元素的时候,如果元素的数目超出e68a84e8a2ad62616964757a686964616f313332646 ...

  6. java从数组查找指定整数_如何在Java中使用重复项查找整数数组中的K个缺失数字?...

    java从数组查找指定整数 自从我讨论任何编码或算法面试问题以来已经有很长时间了,因此我想重新考虑一种最流行的基于数组的编码问题,即在给定数组中查找缺失的数字. 在进行编程工作面试之前,您可能已经听说 ...

  7. Java语言对字节数组截取指定长度

    Java通过 arraycopy来实现字节数组截取,类比于C语言memcpy,代码如下: System.arraycopy(src, srcPos, dest, destPos, length);参数 ...

  8. java数组实验心得体会_学习JAVA之数组小结

    我是一个正在学习JAVA的大三计科的一个学生,写这个小结是为了加深对知识点的理解,以及便于日后的复习,若有什么理解不正确的地方或者一些便于理解的小技巧,希望大神们可以指点,先在谢谢了. 下面步入正题: ...

  9. c判断char数组是否为空_你学过数组,那你知道柔性数组吗?

    1 引言 定长数组包 在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH 为 1024.结构体如下: // 定长缓冲区struct max_buffer{ ...

最新文章

  1. tomcat端口号被占用
  2. vscode 新建cpp文件_Visual Studio Code (vscode)编译C++
  3. 工程制图 ( 标准件与常用件)
  4. vue-router 在项目中的使用
  5. 2500 万行的代码就问你敢不敢动?!
  6. python 声音合成_使用python进行声音生成/合成?
  7. 网站暴库原理与方法剖析
  8. Volley(六 )—— 从源码带看Volley的缓存机制
  9. 长等线,中等线,正等线,细等线,扁宋,扁等线
  10. 函数重载 overload
  11. Gitbub认证及代码提交
  12. macOS Monterey 12.0.1 (21A559) 正式版发布,ISO、IPSW、PKG 下载
  13. 【办公自动化Excel】开发工具的使用
  14. 我的HTML学习------表格的基本使用
  15. Excel函数完整列表(Excel Function Full List)
  16. MySQL拷贝表结构、表数据总结
  17. 自己动手,组建简单好用的NAS!(上)
  18. 盛大陈天桥:当场训员工浪费粮食 辩论所向无敌
  19. 服务器系列产品名称详解
  20. Spring源码系列-第1章-Spring源码纵览【持续更新中】

热门文章

  1. 封装html ui 控件,聊聊前端 UI 组件:组件设计
  2. linux脚本怎么把文件地址变成动态地址,Linux脚本程序自动修改网卡配置文件中的MAC地址...
  3. 继上一篇博客--javaweb通过接口来实现多个文件压缩和下载(包括单文件下载,多文件批量下载)
  4. 信佑无盘主服务器密码,(信佑无盘帮助手册.doc
  5. 如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?
  6. bundle 安装_超级小白使用pip安装第三方库的正确姿势
  7. 计算机专业英语读书报告,英语读书报告怎么写
  8. 矩阵论复习-过渡矩阵、生成子空间、表示矩阵、度量矩阵、酉空间、内积
  9. c语言 连接哨兵 redis6,Redis哨兵--缓存服务器
  10. 实测实量数据表格_建筑工程质量实测实量操作手册,130页PPT下载!