1

当我显示我使用的数据集中的一些示例照片时,图像的预览以低分辨率显示(它们看起来像非常低分辨率的照片)。如何在不丢失分辨率的情况下显示图像?

这是我transformations的用于将数据移动到张量并使用PyTorch函数应用一些转换的方法:

data_transforms = transforms.Compose([
    transforms.Resize((50, 50)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406],
                         std=[0.229, 0.224, 0.225])
])

然后我通过以下方式加载数据DataLoader

train_loader = DataLoader(face_train_dataset,
                          batch_size=train_batch_size, shuffle=False,
                          num_workers=4)

DataLoader最后,我显示了一些使用对象检索的示例照片的预览:

example_data = example_data.cpu()
example_targets = example_targets.cpu()
for i in range(6):
    plt.subplot(2, 3, i + 1)
    plt.tight_layout()
    plt.imshow(example_data[i][0], cmap='gray', interpolation='none')
    plt.title('{}'.format(folders[example_targets[i]]))

plt.show()

ps 图片是tiff格式的。

4

1 回答 1

1

你期待什么分辨率?

您正在应用的转换之一是

transforms.Resize((50, 50))

也就是说,您将输入图像的分辨率降低到 50 x 50 像素。这是您绘制图像时获得的分辨率。

为了更优雅地显示低分辨率图像,您可能需要考虑将插值方法imshow更改为

plt.imshow(example_data[i][0], cmap='gray', interpolation='bicubic')
于 2019-08-13T06:20:07.590 回答