Skip to main content
 首页 » 编程设计

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

2024年09月07日35虾米姐

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

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

有没有保持数据类型的重新缩放方法?我也对更改数据类型的方法持开放态度。

请您参考如下方法:

您可以使用效用函数 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')