[英]How to load data(images) from different folders and subfolders in python
我正在尝试数据集 DRISHTI-GS 上的问题。 我想使用图像(来自训练)和cup seg 和disc seg 图像(来自softmap)并在其上实现CNN 模型。 Ground Truth(GT) 子文件夹由 52 个子文件夹组成,每个子文件夹对应于另一个名为 Images 的文件夹中的 52 张图像(这是训练的子文件夹)。 我已经给出了子文件夹的布局。 GT 中的子文件夹中有 3 个子文件夹,其中子文件夹 softmap 有两个图像,我需要加载这些图像。 我希望有人可以帮助我提供一些具体的代码或一些有用的材料。
(基本上想列出和过滤主目录及其所有子目录中的所有文件,扩展名为 .jpg 或 .png。 )
您可以使用stackabuse 中的以下代码查找当前目录中的所有文件。
import os
for root, dirs, files in os.walk("."):
for filename in files:
print(filename)
如果你只想找到像jpg
文件这样的图像文件,你可以像下面这样过滤它们:
import os
for root, dirs, files in os.walk("."):
for filename in files:
if filename.endswith(".jpg"):
# Process the file
如果我正确理解了您的问题,我认为这就是您正在寻找的东西(尚未对此进行测试,但它应该可以工作)
import glob
paths = glob.glob("DRISHTI_GS/Drishti-GS1_files/Training/GT/**/SoftMap/*.png")
print(paths)
这将产生一个字符串列表,其中每个字符串都是图像的路径。 此相对路径模式假定DRISHTI_GS
位于当前工作目录中。 你也可以给它一个绝对路径。
glob-pattern 中的**
表示所有直接子文件夹,无论它们的名称如何。
*.png
代表任何名称的图像。 在这种情况下,它只会捕获 PNG 图像。 您没有指定图像的格式 - 如果它们不是 PNG,只需将模式更改为*.jpg
等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.