我正在处理一些激光雷达数据图像,由于发布图像的声誉限制,我无法在此处发布这些图像。然而,当使用 pytorch ImageFolder 和 Dataloader 加载相同的图像时,唯一的转换是将图像转换为张量,似乎存在一些极端的阈值,我似乎无法找到原因。
以下是我显示第一张图片的方式:
dataset = gdal.Open(dir)
print(dataset.RasterCount)
img = dataset.GetRasterBand(1).ReadAsArray()
f = plt.figure()
plt.imshow(img)
print(img.shape)
plt.show()
这是我如何使用数据加载器并显示阈值图像:
data_transforms = {
'train': transforms.Compose([
transforms.ToTensor(),
]),
'val': transforms.Compose([
transforms.ToTensor(),
]),
}
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),
data_transforms[x]) for x in ['train', 'val']}
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
dataloders = {x: torch.utils.data.DataLoader(image_datasets[x],
batch_size=1,
shuffle=True,
num_workers=2) for x in ['train', 'val']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}
for image in dataloders["train"]:
f = plt.figure()
print(image[0].shape)
plt.imshow(image[0].squeeze()[0,:,:])
plt.show()
break
对于显示图像的替代方式或我犯的任何错误的任何帮助,将不胜感激。