我有一张白色图像,需要转换成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.]]])
这使我的形象都黑了,我怎么才能避免这个问题?谢谢。
1条答案
按热度按时间k97glaaz1#
图像不会被剪切,而是按
ToTensor
从uint8
0..255重新缩放到float32
[0,1]。matplotlib
等库可以自然地处理重新缩放后单精度像素值在[0,1]范围内的RGB图像。