将 NxNxM 数组重塑为 MxNxN
Reshape NxNxM array to MxNxN
我有一个包含 25000 张尺寸为 128x128 的图像的数组。我希望它的大小为 25000x128x128 而不是 128x128x25000。在 Matlab 中重塑它:
data_reshaped = reshape(data, 25000, 128, 128)
其中 data
的尺寸为 128x128x25000。但是,当我尝试使用 imshow(squeeze(data_reshaped(1,:,:)))
可视化 data_reshaped
中的其中一张图像时,我得到了一张 损坏的 图像。
您将要执行的操作 "change the shape" 误认为函数名称 reshape
。你想要的是改变尺寸的顺序,保持形状。
data_reshaped = permute(data,[3 2 1]);
可能是您寻求的解决方案,否则请尝试
data_reshaped = permute(data,[3 1 2]);
我有一个包含 25000 张尺寸为 128x128 的图像的数组。我希望它的大小为 25000x128x128 而不是 128x128x25000。在 Matlab 中重塑它:
data_reshaped = reshape(data, 25000, 128, 128)
其中 data
的尺寸为 128x128x25000。但是,当我尝试使用 imshow(squeeze(data_reshaped(1,:,:)))
可视化 data_reshaped
中的其中一张图像时,我得到了一张 损坏的 图像。
您将要执行的操作 "change the shape" 误认为函数名称 reshape
。你想要的是改变尺寸的顺序,保持形状。
data_reshaped = permute(data,[3 2 1]);
可能是您寻求的解决方案,否则请尝试
data_reshaped = permute(data,[3 1 2]);