ITS_test_loader = DataLoader(dataset=RESIDE_Dataset(os.path.join('/C2PNet-main/data', 'SOTS/indoor'), train=False, size='whole img'),
batch_size=1, shuffle=False)
print(len(ITS_test_loader))
for idx, (inputs, targets) in enumerate(ITS_test_loader):
print(idx)
print(inputs)
array1 = inputs.numpy() # 将tensor数据转为numpy数据
maxValue = array1.max()
print(maxValue)
array1 = array1 * 255 / maxValue # normalize,将图像数据扩展到[0,255]
mat = np.uint8(array1) # float32-->uint8
print('mat_shape:', mat.shape) # mat_shape: (3, 982, 814)
matt = mat[0] #取出batch中的图片
print(matt.shape)
matt = matt.transpose(2, 1, 0) # mat_shape: (982, 814,3)
print(matt.shape)
cv2.imshow("img", matt)
# 这是由于opencv中的颜色通道顺序是BGR而PIL、torch里面的图像颜色通道是RGB,利用cvtColor对颜色通道进行转换
matt=cv2.cvtColor(matt,cv2.COLOR_BGR2RGB)
cv2.imshow("img",matt)
cv2.waitKey()
break
参考资料:Pytorch:将图像tensor数据用Opencv显示 - _海阔天空 - 博客园 (cnblogs.com)