【发布时间】:2019-06-01 19:34:12
【问题描述】:
我有一个表示为形状为 [224, 224, 3] 的 Numpy 数组的图像。我正在尝试使用 matplotlib 绘制这个: plt.imshow(img) 但它不是获取单个 RGB 图像,而是在单个图中绘制分离的 R、G 和 B 图像。我哪里错了?
我尝试查看图像的形状以及绘制图像的一些示例。 “img”变量的形状为[224, 224, 3],是一个numpy数组类型。
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt
# Define Image Transform
transform = transforms.Compose([transforms.Resize(255),
transforms.CenterCrop(224),
transforms.ToTensor()])
# Load Custom Image Dataset
dataset = datasets.ImageFolder(root="./Cat_Dog_data",
transform=transform)
# DataLoader
dataLoader = DataLoader(dataset=dataset, batch_size=32, shuffle=True)
# Get one batch of Data
# len(images): 32
# len(labels): 32
# shape of images[0]: torch.Size([3, 224, 224])
images, labels = next(iter(dataLoader))
# img.shape: [224,224,3]
img = images[0].numpy().reshape([224, 224, 3])
plt.imshow(img)
plt.show()
【问题讨论】:
-
你已将图像重新整形为 (224,224,3)。它的原始形状是什么?
-
嗨。原始形状是 (3, 224, 224)。我为绘图目的对其进行了改造。
标签: python numpy matplotlib