当我使用skimage.transform.rescale将图像的大小减少40%时,数据类型将从uint8转换为float64。
我可以手动更改数据类型,但我不希望代码中有太多的手动干预。
是否有保留数据类型的重新标度方法?我也对更改数据类型的方法持开放态度。
发布于 2018-10-11 11:30:14
您可以使用实用程序函数img_as_ubyte将重新标度的图像转换回uint8。
演示
In [26]: from skimage import util, data, transform
In [27]: img = data.moon()
In [28]: img.shape
Out[28]: (512, 512)
In [29]: img.dtype
Out[29]: dtype('uint8')
In [30]: res = util.img_as_ubyte(transform.rescale(img, 0.6))
In [31]: res.shape
Out[31]: (307, 307)
In [32]: res.dtype
Out[32]: dtype('uint8')https://stackoverflow.com/questions/52754161
复制相似问题