基于文件名在python中读取多个图像

2024-04-18 00:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含100幅人眼图像的文件夹。我有50个名为retina的文件和50个名为mask的文件。我需要读取所有名为retina1,retina2…..retina50的图像,并将它们存储在一个对象retina中。同样的,对于遮罩图像。你知道吗

我可以根据下面的代码读取文件夹中的所有文件。但不知道如何根据它们的文件名读取它们,即分别读取视网膜和遮罩的所有图像。因为我以后需要实现图像分割和cnn分类器。你知道吗

for i in os.listdir():
   f = open(i,"r")
   f.read()
   f.close()

Tags: 文件对象代码图像文件夹分类器文件名mask
2条回答

通过将循环与生成器表达式组合,可以将循环限制为与某些文件名匹配。你知道吗

for i in (j for j in os.listdir() if 'retina' in j):
   f = open(i,"r")
   f.read()
   f.close()

我将使用glob模块获得正确文件名的路径。 参考glob

import glob

retina_images = glob.glob(r"C:\Users\Fabian\Desktop\stack\images\*retina*")
mask_images = glob.glob(r"C:\Users\Fabian\Desktop\stack\images\*mask*")
print(retina_images)
print(mask_images)

现在您可以使用路径列表来读取正确的文件。你知道吗

在我的例子中,我的图片位于: C:\Users\Fabian\Desktop\stack\images\您可以使用*作为通配符。你知道吗

编辑:

import glob

images = {}
patterns = ["retina", "mask"]
for pattern in patterns:
    images[pattern] = glob.glob(r"C:\Users\fabia\Desktop\stack\images\*{}*".format(pattern)) 
print(images)

根据你的搜索模式生成一个dict可能会有所帮助。你知道吗

相关问题 更多 >

    热门问题