导入图片扩增到显示扩增后的图片
时间: 2023-09-27 12:12:01 浏览: 96
要将图片导入并应用扩增方法后显示扩增后的图片,可以使用PyTorch的torchvision库。以下是一个示例代码:
```python
import torchvision.transforms as transforms
import torchvision.datasets as datasets
import matplotlib.pyplot as plt
# 定义变换管道
transform = transforms.Compose([
transforms.RandomHorizontalFlip(),
transforms.RandomCrop(32, padding=4),
transforms.ToTensor(), # 转换为Tensor格式
])
# 加载数据集并应用变换
train_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
# 获取一张扩增后的图片
augmented_image = train_dataset[0][0]
# 将Tensor格式转为NumPy数组,并将通道维度放在最后(C, H, W -> H, W, C)
augmented_image = augmented_image.permute(1, 2, 0).numpy()
# 显示扩增后的图片
plt.imshow(augmented_image)
plt.axis('off') # 关闭坐标轴
plt.show()
```
在这个示例中,我们首先定义了一个变换管道,包括随机水平翻转、随机裁剪和转换为Tensor格式。然后,我们加载了CIFAR10数据集,并应用了这个变换管道。
接下来,我们从扩增后的数据集中获取了第一张图片,并将其转换为NumPy数组。注意,我们使用`.permute(1, 2, 0)`将通道维度放在最后,以适配matplotlib库对于通道顺序的要求。
最后,我们使用`plt.imshow`方法将扩增后的图片显示出来。同样,你可以根据自己的需求定义自己的变换管道,并使用matplotlib库来显示扩增后的图片。
阅读全文