当前位置:   article > 正文

matplotlib 里的 imgshow() 函数

imgshow

代码示例

from PIL import Image
from torchvision import transforms
import matplotlib.pyplot as plt

img_path = "tulips.jpg"  # 图片路径
img = Image.open(img_path)  # 使用PIl读取图片
img1 = transforms.ToTensor()(img)  # 把图片转化为tensor格式
img1 = img1.permute(1, 2, 0)  # tensor数据类型为[C H W] 但是使用plt绘图需要格式为[H W C]这里使用permute函数来将格式更改
# img1 = img1.numpy()
print(img1.shape)  # torch.Size([296, 398, 3])
print(img1.dtype)  # torch.float32
print(type(img1))  # <class 'torch.Tensor'>
plt.subplot(1, 2, 1)  # 绘制第一个子图
plt.imshow(img)
plt.subplot(1, 2, 2)  # 绘制第二个子图
plt.imshow(img1)
plt.show()  # 显示图像
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

PIL Img

展示的左边图像中PIL img是unint8的数据类型,即使用8bit (0-255) 来分别表示RGB三个通道中每一个通道的强度

image-20231007212222565

Tensor Img

展示的右边图像则是PIL image转化为tensor数据类型后显示,数值从0-255归一化到了0-1的浮点数,就是将原来0-255的数除以了255进行归一化,这一步包含在了ToTensor () 这个函数中

image-20231007212352838

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/288041
推荐阅读
  

闽ICP备14008679号