用Mahotas读写图像

时间:2012-01-17 00:53:10

标签: python image-processing mahotas

我正在尝试用Mahotas写一个图像并发现它很奇怪。

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 个答案:

答案 0 :(得分:5)

mahotas的作者在这里。错误信息并不理想(将修复它),但这是正在发生的事情。

灰度图像是浮点图像(即img.dtype == numpy.float64),您无法将浮点图像保存为PNG。

转换为numpy.uint8

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

它将按预期工作。