pytorch 如何避免TO_TENSOR()将值裁剪为1

pprl5pva  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(120)

我有一张白色图像,需要转换成Tensor,图像的形状是(400, 600, 3),最初,图像的值max = 255;例如:

org_img[0]
 
# result:
array([[255, 255, 255],
               [255, 255, 255],
               [255, 255, 255],
               ...,
               [255, 255, 255],
               [255, 255, 255],
               [255, 255, 255]], dtype=uint8)

但是在我使用to_tensor()转换为tensor之后,它会将我的值剪切为1。

torchvision.transforms.functional.to_tensor(org_img[0])
# result:
tensor([[[1., 1., 1.],
         [1., 1., 1.],
         [1., 1., 1.],
         ...,
         [1., 1., 1.],
         [1., 1., 1.],
         [1., 1., 1.]]])

这使我的形象都黑了,我怎么才能避免这个问题?谢谢。

k97glaaz

k97glaaz1#

图像不会被剪切,而是按ToTensoruint8 0..255重新缩放到float32 [0,1]。matplotlib等库可以自然地处理重新缩放后单精度像素值在[0,1]范围内的RGB图像。

相关问题