Matplotlib Pylot - изображения отображаются в низком разрешении (от пикселя к пикселю)

Когда я отображаю некоторые образцы фотографий из набора данных, который я использую, предварительный просмотр изображений отображается в низком разрешении (они выглядят как фотографии очень низкого разрешения). Как я могу отображать изображения без потери их разрешения?

Вот мои 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 формат.

1 ответ

Какое разрешение вы ожидаете?

Одна из трансформаций, которые вы применяете,

transforms.Resize((50, 50))

То есть вы уменьшаете разрешение входных изображений до 50 на 50 пикселей. Это разрешение вы получаете, когда вы строите изображения.

Для более четкого отображения изображений в низком разрешении вы можете рассмотреть вопрос об изменении метода интерполяции imshow в

plt.imshow(example_data[i][0], cmap='gray', interpolation='bicubic')
Другие вопросы по тегам