【问题标题】:ValueError: cannot reshape array of size 30470400 into shape (50,1104,104)ValueError:无法将大小为 30470400 的数组重塑为形状 (50,1104,104)
【发布时间】:2021-08-02 12:28:39
【问题描述】:

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

我想用 Python 对 3-D 断层扫描图像进行分割。

我一开始就在努力重塑形象。

这是代码:

%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(最近一次调用 最后)在() ----> 1 个数据.reshape((50,1104,104))

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

有人可以帮帮我吗?

【问题讨论】:

  • 试试a.reshape(50, 1104, -1) ,它会自动找出第三个暗淡

标签: python numpy reshape


【解决方案1】:

似乎有一个错字,因为1104*1104*50=60940800 并且您正试图重塑尺寸为50,1104,104。所以看来你需要把104改成1104。

【讨论】:

    【解决方案2】:

    在矩阵术语中,元素的数量总是必须等于行数和列数的乘积。在这种特殊情况下,条件不匹配。

    【讨论】:

      【解决方案3】:
      data.reshape((50,1104,-1))
      

      为我工作

      【讨论】:

        猜你喜欢
        • 2021-03-20
        • 2021-03-21
        • 2018-10-22
        • 2019-11-29
        • 2020-01-29
        • 2021-07-18
        • 1970-01-01
        相关资源
        最近更新 更多