关于transforms.toTensor()转换的问题 对应灰度图和RGB图均可转换 且自动加一个维度

target1 = imread(r"D:\pku\new desktop\dataset-DIV2k\Set14\bridge.bmp")
target2 = Image.open(r"D:\pku\new desktop\dataset-DIV2k\Set14\bridge.bmp")
print('yes')
mm = target1/255.0
nn = torch.ones([2,2])
nn_new = nn.float()

trans = transforms.ToTensor()
target1_tensor = trans(target1)
target2_tensor = trans(target2)
print('yes')
#如果输入三通道 输出则转换位CHW的[0.0 1.0]的float tensor
#重点 如果输入的是灰度图 输出的仍然会是三通道的 源码中 如果检测到图片是二维的 会自动加一个维度
dudu1 = np.ones([2,2])
dudu2 = dudu1[:,:,None]#加一个维度
print(dudu1.size)
print(dudu2.size)

#源码的话参照下面的图片

关于transforms.toTensor()转换的问题 对应灰度图和RGB图均可转换 且自动加一个维度_第1张图片

如下图所示:我们读入的为uint8数据,因此我们可以进行直接的转换

关于transforms.toTensor()转换的问题 对应灰度图和RGB图均可转换 且自动加一个维度_第2张图片

 

 

 

你可能感兴趣的:(关于transforms.toTensor()转换的问题 对应灰度图和RGB图均可转换 且自动加一个维度)