python定义三维数组不指定长度_插值/调整三维数组大小
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定义三维数组不指定长度_插值/调整三维数组大小相关推荐
- 删除数组中指定元素_如何删除PHP数组元素键值并重新排序
点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网 源 / www.php.cn 想要删除PHP数组中某个元素键值,然后重新规范索引排序.我们可以使用PHP中的内置函数uns ...
- php函数从数组中取出指定的数目,php截取数组的指定长度
PHP中操作数组的函数有很多,今天就说一说PHP中截取数组的指定长度并做为一个新数组返回的函数array_slice() array_slice()函数定义与用法 array_slice():函数在数 ...
- java 获取排列组合_Java获得一个数组的指定长度排列组合算法示例
本文实例讲述了Java获得一个数组的指定长度排列组合算法.分享给大家供大家参考,具体如下: package demo; import java.util.Stack; /** * JAVA获得一个数组 ...
- new 数组_编程-遍历数组元素N次/填充数组至指定长度
需求如下: 有数组 names=["a","b","c"] 需要遍历数组元素n次,比如: n=2时,期待的输出为:a,b n=5时,期待的输 ...
- pta数据结构实验在数组中查找指定元素_如何从一个数组中查找指定的元素,并返回这个元素在数组中的位置...
展开全部 和Vector都是使用Objec的数组形式来存储的.当你向这两种类型中增加元素的时候,如果元素的数目超出e68a84e8a2ad62616964757a686964616f313332646 ...
- java从数组查找指定整数_如何在Java中使用重复项查找整数数组中的K个缺失数字?...
java从数组查找指定整数 自从我讨论任何编码或算法面试问题以来已经有很长时间了,因此我想重新考虑一种最流行的基于数组的编码问题,即在给定数组中查找缺失的数字. 在进行编程工作面试之前,您可能已经听说 ...
- Java语言对字节数组截取指定长度
Java通过 arraycopy来实现字节数组截取,类比于C语言memcpy,代码如下: System.arraycopy(src, srcPos, dest, destPos, length);参数 ...
- java数组实验心得体会_学习JAVA之数组小结
我是一个正在学习JAVA的大三计科的一个学生,写这个小结是为了加深对知识点的理解,以及便于日后的复习,若有什么理解不正确的地方或者一些便于理解的小技巧,希望大神们可以指点,先在谢谢了. 下面步入正题: ...
- c判断char数组是否为空_你学过数组,那你知道柔性数组吗?
1 引言 定长数组包 在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH 为 1024.结构体如下: // 定长缓冲区struct max_buffer{ ...
最新文章
- tomcat端口号被占用
- vscode 新建cpp文件_Visual Studio Code (vscode)编译C++
- 工程制图 ( 标准件与常用件)
- vue-router 在项目中的使用
- 2500 万行的代码就问你敢不敢动?!
- python 声音合成_使用python进行声音生成/合成?
- 网站暴库原理与方法剖析
- Volley(六 )—— 从源码带看Volley的缓存机制
- 长等线,中等线,正等线,细等线,扁宋,扁等线
- 函数重载 overload
- Gitbub认证及代码提交
- macOS Monterey 12.0.1 (21A559) 正式版发布,ISO、IPSW、PKG 下载
- 【办公自动化Excel】开发工具的使用
- 我的HTML学习------表格的基本使用
- Excel函数完整列表(Excel Function Full List)
- MySQL拷贝表结构、表数据总结
- 自己动手,组建简单好用的NAS!(上)
- 盛大陈天桥:当场训员工浪费粮食 辩论所向无敌
- 服务器系列产品名称详解
- Spring源码系列-第1章-Spring源码纵览【持续更新中】
热门文章
- 封装html ui 控件,聊聊前端 UI 组件:组件设计
- linux脚本怎么把文件地址变成动态地址,Linux脚本程序自动修改网卡配置文件中的MAC地址...
- 继上一篇博客--javaweb通过接口来实现多个文件压缩和下载(包括单文件下载,多文件批量下载)
- 信佑无盘主服务器密码,(信佑无盘帮助手册.doc
- 如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?
- bundle 安装_超级小白使用pip安装第三方库的正确姿势
- 计算机专业英语读书报告,英语读书报告怎么写
- 矩阵论复习-过渡矩阵、生成子空间、表示矩阵、度量矩阵、酉空间、内积
- c语言 连接哨兵 redis6,Redis哨兵--缓存服务器
- 实测实量数据表格_建筑工程质量实测实量操作手册,130页PPT下载!