我正在尝试用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。
答案 0 :(得分:5)
mahotas的作者在这里。错误信息并不理想(将修复它),但这是正在发生的事情。
灰度图像是浮点图像(即img.dtype == numpy.float64
),您无法将浮点图像保存为PNG。
转换为numpy.uint8
:
mahotas.imsave('test.png', img.astype(numpy.uint8))
它将按预期工作。