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

Python 如何在Pytorch的同一文件夹中加载图像?,python,computer-vision,pytorch,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 ... 希望您能提供帮助。如果您想加载这两个文件夹中的所有图像,可以尝试cv2 import cv2 img = []

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

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

希望您能提供帮助。

如果您想加载这两个文件夹中的所有图像,可以尝试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))

如果您想加载这两个文件夹中的所有图像,那么可以尝试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))
如果您的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'),
 ...
]
如果您的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'),
 ...
]

您想在何处加载图像,是否要将图像从一个文件夹加载到另一个文件夹?您想在何处加载图像,是否要将图像从一个文件夹加载到另一个文件夹?谢谢,顺便问一下,我可以使用
DataLoader
或其他类加载它吗?如何加载?我想在多个线程中输入图像。如果有帮助或感谢,请查看链接。顺便问一下,我可以使用
DataLoader
或其他类来加载它吗?如何加载?我想在多个线程中输入图像。如果有帮助,请查看链接