显示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
上一篇: OpenCV图像的加载、显示
下一篇: Django 的路由系统