skimage.transform.rescale将数据类型从uint8更改为float64

时间:2018-10-11 07:03:14

标签: python image types scikit-image rescale

当我使用skimage.transform.rescale将图像尺寸减小40%时,数据类型从uint8转换为float64

我可以手动更改数据类型,但是我不想在代码中进行过多的手动干预。

是否有任何重新缩放方法保留数据类型?我也可以选择更改数据类型的方法。

1 个答案:

答案 0 :(得分:2)

您可以使用实用程序功能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')