0
我有一个灰色图像,我想将每个像素映射到N个大小为LxM的其他矩阵。我如何初始化这样一个矩阵?我尝试了 result=numpy.zeros(shape=(i_size[0],i_size[1],N,L,M))
,我得到了Value Error'数组太大“。任何人都可以提出一种替代方法?在Python中创建一个5D数组
我有一个灰色图像,我想将每个像素映射到N个大小为LxM的其他矩阵。我如何初始化这样一个矩阵?我尝试了 result=numpy.zeros(shape=(i_size[0],i_size[1],N,L,M))
,我得到了Value Error'数组太大“。任何人都可以提出一种替代方法?在Python中创建一个5D数组
如果我理解正确,灰色图像中的每个像素都映射到N
其他图像中的单个像素。在这种情况下,地图数组为numpy.zeros((i.shape[0], i.shape[1], N, 2), dtype=numpy.int32)
,因为您需要将1 x和1 y坐标存储在每个其他N
数组中,而不是每次都存储整个第N个数组。使用整数索引将进一步减少内存使用量。
然后result[y,x,N,0]
和result[y,x,N,1]
是y
和x
映射到第N个图像。
你确定你需要一个5D数组,因为数据量在N^5的范围内变得非常快。 – tune2fs
您可以尝试使用np.tile和list.append创建这样的数组。 – pacodelumberg
我需要创建一个嵌套数组,并且np.tile和list.append似乎不工作。我需要的是像Matlab中的单元格 - 数组中的每个元素都包含另一个数组。 – user1482980