skimage.io.imsave保存的Png像素范围
时间: 2023-11-19 20:05:27 浏览: 183
16位图像读取和保存 log灰度变换
skimage.io.imsave 函数保存 PNG 图像文件时,如果数组的数据类型为浮点数,则会自动将像素值缩放到 0~1 的范围内,并将数据类型转换为 np.uint16。如果数组的数据类型为整数,则会将像素值直接保存为 uint8 或 uint16。
对于浮点数类型的数组,skimage.io.imsave 函数使用以下公式将像素值从浮点数范围映射到整数范围:
```
data_uint = (data * (2 ** bitdepth - 1)).astype(dtype, copy=False)
```
其中,data 是浮点数数组,bitdepth 是数据类型的位深度,dtype 是目标数据类型。
对于保存为 uint8(即位深度为 8)的 PNG 图像文件,像素值范围应该在 0~255 之间。对于保存为 uint16(即位深度为 16)的 PNG 图像文件,像素值范围应该在 0~65535 之间。如果像素值超出了这个范围,则会被截断到最大值或最小值。
阅读全文