PIL,plt顯示tensor類型的圖像

該方法針對顯示Dataloader讀取的圖像。

PIL 與plt中對應操作不同,但原理是一樣的,我試過用下方代碼Image的方法在plt上show失敗了,原因暫且不知。

 # 方法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)
 img = image[0] # plt.imshow()只能接受3-D Tensor,所以也要用image[0]消去batch那一維
 img = img.numpy() # FloatTensor轉爲ndarray
 img = np.transpose(img, (1,2,0)) # 把channel那一維放到最後
 # 顯示圖片
 plt.imshow(img)
 plt.show()
 cnt += 1

參考文獻

[1]. PyTorch讀取Cifar數據集並顯示圖片的實例講解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章