numpy的ndarray数组如何reshape成固定大小

在做肺结节检测的时候,遇到dicom文件reshape之后尺寸大小不一。因为大下不一,numpy.reshape又无法重塑成指定大小的。最后还是在一个大牛的代码中找到了解决方法。

VL = np.load(r‘D:\pycharm\TEAMWORK\Preprocess_3D\imageOR.npy‘)# 我的imageOR中,每一个文件除了3维的ndarray之外,还保存了标签lab,所以下面写成isometric_volume[0],所以如果你只有数组信息,直接将后面的[0]去掉即可votal = []for isometric_volume in VL:    print(isometric_volume[0],‘第一个‘)    mean = np.mean(isometric_volume[0]).astype(np.float32)    std = np.std(isometric_volume[0]).astype(np.float32)    volume_resized = scipy.ndimage.interpolation.zoom(isometric_volume[0],                                                      np.divide(64, isometric_volume[0].shape),                                                       mode=‘nearest‘)    volume_resized = (volume_resized.astype(np.float32) - mean) / (std + 1e-7)    z0, z1 = volume_resized.shape[0]//2, volume_resized.shape[0]    y0, y1 = 0, volume_resized.shape[1]//2    volume_resized = volume_resized[z0:z1, y0:y1, :]    votal.append([volume_resized , isometric_volume[1]])    print(volume_resized,‘volume_resized‘)    print(volume_resized.shape)    print(votal , ‘votal‘)

np.save(‘newimage.npy‘,votal)

原文地址:https://www.cnblogs.com/theWinter/p/8407104.html

时间: 2024-10-08 17:57:55

numpy的ndarray数组如何reshape成固定大小的相关文章

python 识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,并将图片再按照自己的后缀名存储起来

下列代码,识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,再按照自己的后缀名存储起来 bug:我是用来识别单张图片中只有一个人脸的数据集,如果用来处理一张图片中的多个人脸,那么图片的命名可能会有bug - import cv2 import os import glob #最后剪裁的图片大小 size_m = 48 size_n = 48 def detect(img, cascade): rects = cascade.detectMultiScale(img, scaleFactor=1

Python开发:NumPy学习(一)ndarray数组

一.数据维度 一个数据表达一个含义,一组数据表达一个或多个含义. 数据维度概念:一组数据的组织形式,其中有一维数据.二维数据.多维数据.高维数据. 1.  一维数据 一维数据由对等关系的有序或无序数据构成,采用线性方式组织. 对应:列表.集合 #列表有序 [1,2,3,4,5] #集合无序 {1,2,3,4,5} 2.二维数据 二维数据由多个一维数据构成,是一维数据的组合形式. 对应:列表 [[1,2,3],[4,5,6]] 3.多维数据 多维数据由一维或二维数据在新维度上扩展形成. 对应:列表

NumPy学习:创建ndarray数组(linespace,arange,uniform,normal)

""" 创建ndarray数组(linespace,arange,uniform,normal) """ import numpy as np print("linespace:", np.linspace(0, 100, 5)) # 等间隔的序列 print("arange:", np.arange(10, 50, 10)) # 每间隔10 print("uniform:", np.r

数据分析2 numpy(ndarray数组,属性,创建,索引切片,运算,函数,随机数), Pandas(Series创建,缺失值处理,特性,索引,DataFrame)

Numpy numpy数据类型 1.为啥使用numpy ? ndarray是一个多维数组列表 Numpy的核心特征就是N-维数组对----ndarray 它和python中的列表区别: 1.数组对象内元素类型必须相同 2.数组大小不可修改 2.创建ndarray     数组 3.常见的属性 数据类型 astype()方法可以修改数组类型 4.ndarray的创建方式 5.索引 6.切片 7.数组的向量运算和矢量运算 8. 布尔型索引 9.花式索引 10.一元函数 11.数学统计函数 12.随机

NumPy基础:数组和矢量计算

今天被老板fire了,还是继续抄书吧,安抚我受伤的小心脏.知识还是得慢慢积累,一步一个脚印,这样或许才是最快的捷径. ------2015-2-16------------------------------------------------------------------ NumPy的ndarray:一种多维数组对象 NumPy一个重要的特点就是N维数组对象(ndarray),该对象是一个快速灵活的大数据集容器.ndarray是一个通用的同构数据多维容器,也就是所有的元素都必须是相同的类

numpy教程:数组操作

http://blog.csdn.net/pipisorry/article/details/39496831 Array manipulation routines numpy数组基本操作,包括copy, shape, 转换(类型转换), type, 重塑等等.这些操作应该都可以使用numpy.fun(array)或者array.fun()来调用. Basic operations copyto(dst, src[, casting, where])Copies values from one

数组/矩阵转换成Image类

Python下将数组/矩阵转换成Image类 原创 2017年04月21日 19:21:27 标签: python / 图像处理 3596 先说明一下为什么要将数组转换成Image类.我处理的图像是FITS (Flexible Image Transport System)文件,是一种灰度图像文件,也就是单通道图像.FITS图像的特点是灰度值取值为0~65535,这类图像在python下读成数组首先是不能直接转换成位图,也就不能用OpenCV.Image等方法了.如果是普通的jpg图像,用自带的

numpy库中数组的数据类型

numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as np >>> arr1=np.array([1,2,3,4],dtype=np.float64) >>> arr2=np.array([1,2,3,4],dtype=np.int32) >>> arr1.dtype dtype('float64') >

numpy生成随机数组

python想要生成随机数的话用使用random库很方便,不过如果想生成随机数组的话,还是用numpy更好更强大一点. 生成长度为10,在[0,1)之间平均分布的随机数组: rarray=numpy.random.random(size=10) 或者 rarray=numpy.random.random((10,)) 生成在-0.1到0.1之间的平均分布: rarray=0.2*numpy.random.random(size=10)-0.1 或者 rarray=numpy.random.uni