Редактировать:
Я неправильно понял ваш вопрос. Я думал, что imsave
не сохранял ваше изображение должным образом, но вы смогли импортировать его.
scipy.misc.imsave
- это просто тонкая оболочка вокруг PIL (библиотека изображений Python) . Вам нужно установить PIL для его работы.
Что произойдет, если вы просто используете PIL напрямую?
scipy.misc.imsave
датируется много лет назад, когда Image
не поддерживал массивы numpy. Официально это не рекомендуется, но оно проходит через множество обручей, которые не нужны в последних версиях PIL.
Что произойдет, если вы сделаете это:
import numpy as np
import Image
# It's easier to work with a MxNx3 array instead of a 3xMxN array in PIL
a = np.zeros((500, 400, 3))
a[:100, :200, 1] = 255
im = Image.fromarray(a.astype(np.uint8))
im.save('test.png')
Кроме того, избегайте делать from whatever import *
. Это только для интерактивного использования. В противном случае это очень плохая идея. (В случае numpy
, вы переопределяете многие встроенные функции python с numpy-версиями, но не делаете то же самое.) Кроме того, не используйте базовое пространство имен scipy
. Это просто numpy
с одной или двумя дополнительными функциями. Все Сципиона находятся в его подмодулях. Импортируйте то, что вам нужно напрямую (например, from scipy.misc import imsave
)