在batch中读取图片

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值