ValueError:无法将大小为30470400的数组重塑为形状(50,1104,104)

时间:2017-03-22 09:21:59

标签: python numpy reshape

我正在尝试运行这个教程 http://emmanuelle.github.io/segmentation-of-3-d-tomography-images-with-python-and-scikit-image.html

我想用Python进行三维断层扫描图像的分割。

我在开始时直接挣扎,重塑了形象。

这是代码:

%matplotlib inline

import numpy as np

import matplotlib.pyplot as plt 

import time as time 

data = np.fromfile('/data/data_l67/dalladas/Python3/Daten/Al8Cu_1000_g13_t4_200_250.vol', dtype=np.float32)

data.shape

(60940800,)

data.reshape((50,1104,104))
  

----------------------------------------------- ---------------------------- ValueError Traceback(最近一次调用   最后)in()   ----> 1 data.reshape((50,1104,104))

     

ValueError:无法将大小为30470400的数组重塑为形状   (50,1104,104)

有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:10)

似乎有一个错字,因为1104*1104*50=60940800并且您正在尝试重塑为尺寸50,1104,104。因此,您似乎需要将104更改为1104。

答案 1 :(得分:5)

data.reshape((50,1104,-1))

适合我

答案 2 :(得分:2)

在矩阵术语中,元素的数量始终等于行和列的no的乘积。这里条件不匹配