从 float64 到 uint8 的有损转换.范围 [0, 1].在保存之前将图像转换为 uint8 以禁止显示此警告


pre_dir = '/content/drive/My Drive/preds'
for k in range(len(imgs_mask_test)):
a=rescale_intensity(imgs_test[k][:,:,0],out_range=(-1,1))
b=(imgs_mask_test[k][:,:,0]).astype(np.uint8)
io.imsave(os.path.join(pre_dir, str(k)+'_pre.png'),mark_boundaries(a,b))

我想使用 imsave(( 保存多个图像。"从 float64 到 uint8 的有损转换。范围 [0, 1]。在保存之前将图像转换为 uint8 以禁止显示此警告。 请帮忙

您可以先在 [0-255] 范围内缩放 float64 值,这是 uint8 允许的值,然后使用 numpy 进行转换。如果你的图像在[0-1]范围内,你只需要将它们乘以255。否则,您必须重新缩放它们,然后乘以 255。

uint8image = np.uint8(float64image)

假设您有 numpy 数组来缩放图像,您可以执行以下操作:

Scaled01 = image
Scaled01 -= Scaled01.min()
Scaled01 /= Scaled01.max()

最新更新