ValueError: cannot reshape array of size 30470400 into shape (50,1104,104)

此生再无相见时 提交于 2019-12-18 01:19:53

问题


I am trying to run threw this Tutorial http://emmanuelle.github.io/segmentation-of-3-d-tomography-images-with-python-and-scikit-image.html

where I want to do a Segmentation of 3-D tomography images with Python.

I'm struggling directly in the beginning, with reshaping the image.

This is the code:

%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 (most recent call last) in () ----> 1 data.reshape((50,1104,104))

ValueError: cannot reshape array of size 30470400 into shape (50,1104,104)

Can somebody help me out?


回答1:


It seems that there is a typo, since 1104*1104*50=60940800 and you are trying to reshape to dimensions 50,1104,104. So it seems that you need to change 104 to 1104.




回答2:


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

works for me




回答3:


In Matrix terms no of elements always equal to product of no of rows and columns. Here this condition is not matching



来源:https://stackoverflow.com/questions/42947298/valueerror-cannot-reshape-array-of-size-30470400-into-shape-50-1104-104

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!