#python #numpy #matplotlib #scipy #numpy-ndarray
#python #numpy #matplotlib #scipy #numpy-ndarray
Вопрос:
Я хочу преобразовать .npy файл в .png файл
from scipy.misc import toimage, imsave
img_array = np.load('MRNet-v1.0/train/sagittal/0003.npy')
print(img_array.shape)
name = "img" str(i) ".png"
imsave(name,img_array)
форма : (30,256,256)
Но появляется ошибка, подобная
Ошибка значения: ‘arr’ не имеет подходящей формы массива ни для одного режима.
Комментарии:
1. Эти данные не являются данными изображения (или, по крайней мере, это не одно изображение). Если это данные нескольких изображений, сначала разделите данные на несколько массивов и сохраните изображения одно за другим.
2. Возможно, ваш массив представляет 30 фрагментов изображения размером 256×256 пикселей. В этом случае вам нужно либо сохранить его в виде 30 отдельных изображений, либо сохранить их в формате, таком как TIFF, который позволяет использовать несколько изображений в одном файле.
3. Или десять цветных изображений…
4. @MadPhysicist но они, вероятно, будут иметь форму
[10,256,256,3]
(или[3,256,256,10]
), нет?
Ответ №1:
Прежде всего, эти scipy
инструменты для создания изображений устарели и будут удалены в будущем (начиная с версии scipy 1.2.0). Вместо этого установите, imageio
а затем запустите:
import imageio
for i in range(30):
imsave("./slice_{0}.png".format(i), img_array[i,...])