导入电脑整个文件夹图片扩增到显示扩增后的图片
时间: 2023-08-15 10:07:41 浏览: 97
要导入电脑上整个文件夹中的图片并应用数据扩增方法后显示扩增后的图片,可以使用PIL库和torchvision库来完成。以下是一个示例代码:
```python
import os
from PIL import Image
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
# 文件夹路径
folder_path = 'path/to/folder'
# 定义变换管道
transform = transforms.Compose([
transforms.RandomHorizontalFlip(),
transforms.RandomCrop(224),
transforms.ToTensor(), # 转换为Tensor格式
])
# 遍历文件夹中的图片
for filename in os.listdir(folder_path):
# 图片路径
image_path = os.path.join(folder_path, filename)
# 加载图片
image = Image.open(image_path)
# 应用变换
augmented_image = transform(image)
# 将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()
```
在这个示例中,我们首先指定了文件夹的路径`folder_path`,该文件夹包含要导入和扩增的图片。
然后,我们定义了一个变换管道,包括随机水平翻转、随机裁剪和转换为Tensor格式。
接下来,我们使用`os.listdir`遍历文件夹中的图片。对于每张图片,我们通过`os.path.join`构建出图片的完整路径。
然后,我们使用PIL库的`Image.open`方法加载图片。
接着,我们应用变换管道,使用`transform`方法将加载的图片应用了数据扩增。
最后,我们将扩增后的图片转换为NumPy数组,并使用`plt.imshow`方法将其显示出来。注意关闭坐标轴可以提供更清晰的图片显示。
你可以根据自己的需求定义自己的变换管道,并使用PIL库和torchvision库来导入、扩增和显示电脑上整个文件夹中的图片。
阅读全文