Чтение и запись изображений с Mahotas - PullRequest
3 голосов
/ 17 января 2012

Я пытаюсь написать изображение с Махотасом и нахожу это странно трудным.

img = mahotas.imread('foo.png', True)
mahotas.imsave('bar.png', img)

ошибка, которую я получаю:

ValueError: mahotas.freeimage: cannot write arrays of given type and shape.

Я на OS X и использовал brew для установки freeimage.

1 Ответ

5 голосов
/ 18 января 2012

Автор махот здесь. Сообщение об ошибке не идеально (это исправит), но вот что происходит.

Изображение в градациях серого является изображением с плавающей точкой (т.е. img.dtype == numpy.float64), и вы не можете сохранять изображения с плавающей точкой в ​​формате PNG.

Преобразовать в numpy.uint8:

mahotas.imsave('test.png', img.astype(numpy.uint8))

и все будет работать как положено.

...