将文件夹中的多张png图片转化为tensor,并进行标准化处理的完整代码
时间: 2024-03-22 13:39:51 浏览: 51
好的,以下是Python代码:
```python
import os
import numpy as np
from PIL import Image
import torch
from torchvision import transforms
# 定义转换操作
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
# 定义文件夹路径
folder_path = "./images/"
# 定义空列表,用于存储处理后的tensor
tensor_list = []
# 遍历文件夹,将图片转换为tensor并进行标准化处理
for filename in os.listdir(folder_path):
if filename.endswith('.png'):
img_path = os.path.join(folder_path, filename)
img = Image.open(img_path)
img_tensor = transform(img)
tensor_list.append(img_tensor)
# 将tensor列表转换为张量
tensor_array = torch.stack(tensor_list)
# 查看张量维度
print(tensor_array.shape)
```
这段代码首先使用`transforms.Compose`定义了转换操作,将图片转换为tensor并进行标准化处理。然后使用`os.listdir`遍历文件夹中所有的png图片,并将其转换为tensor。最后使用`torch.stack`将tensor列表转换为张量。
阅读全文