使用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 个回答
5
这里是mahotas的作者。这个错误信息不太好(我会修复它),但我来解释一下发生了什么。
灰度图像是浮点型的图像(也就是说,img.dtype == numpy.float64
),而浮点型的图像不能保存为PNG格式。
你需要把它转换成numpy.uint8
:
mahotas.imsave('test.png', img.astype(numpy.uint8))
这样就可以正常工作了。