如何在Pytorch的同一文件夹中加载图像?

时间:2019-02-27 05:33:25

标签: python computer-vision pytorch

我想分别从文件夹/img/mask加载所有图像。数据结构可以如下所示:

data
    img
        0.png
        1.png
        2.png
        3.png
        ...
   mask
       label_0.png
       label_1.png
       label_2.png
       ...

希望获得帮助。

2 个答案:

答案 0 :(得分:1)

如果要从两个文件夹加载所有图像,则可以尝试cv2

import cv2

img = []
for i in range(n): # n = number of images in img folder
    img_path = f'~data\img\{i}.png' # replace ~ with full path 
    img.append(cv2.imread(img_path))

for i in range(n): # n = number of images in mask folder
    img_path = f'~data\mask\lable_{i}.png' # replace ~ with full path
    img.append(cv2.imread(img_path))

答案 1 :(得分:1)

如果您的Python是3.4+, 您可以使用pathlib获得具有相同扩展名的文件列表。

from pathlib import Path
# *.png
result = list( Path('./data/').rglob('*.[pP][nN][gG]') )
print(result)

结果:

[PosixPath('data/img/0.png'),
 PosixPath('data/img/0.png'),
 PosixPath('data/img/0.png'),
 ...
 PosixPath('data/mask/label_0.png'),
 PosixPath('data/mask/label_1.png'),
 PosixPath('data/mask/label_2.png'),
 ...
]