欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

显示Dataloader读取的图像

程序员文章站 2022-03-26 13:38:12
...

该方法针对显示Dataloader读取的图像。
PIL 与plt中对应操作不同,但原理是一样的,我试过用下方代码Image的方法

 # 方法1:Image.show()
 # transforms.ToPILImage()中有一句
 # npimg = np.transpose(pic.numpy(), (1, 2, 0))
 # 因此pic只能是3-D Tensor,所以要用image[0]消去batch那一维
 # 原作者的我运行失败,改成下面这样
 img = transforms.ToPILImage()(image[0])
 img.show()

 # 方法2:plt.imshow(ndarray)
 # plt.imshow()只能接受3-D Tensor,所以也要用image[0]消去batch那一维
 img = image[0]   # 若出错可改成img = image[0].cuda 试试
 img = img.numpy() # FloatTensor转为ndarray
 img = np.transpose(img, (1,2,0)) # 把channel那一维放到最后
 # 显示图片
 plt.imshow(img)
 plt.show()
 cnt += 1