python - 根据文件名在 python 中读取多个图像

标签 python python-3.x

我有一个包含 100 张人眼图像的文件夹。我在该文件夹中有 50 个名为 retina 的文件和 50 个名为 mask 的文件。我需要读取所有名为 retina1、retina2.....retina 50 的图像并将它们存储在对象 retina 中。掩码图像也类似。

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

for i in os.listdir():
   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)

根据您的搜索模式生成字典可能会有所帮助。

关于python - 根据文件名在 python 中读取多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58266941/

相关文章:

python - 使用双下划线按类名定位元素

python - 如何在 Python 中打印多个有效数字?

python 覆盖 __new__ 无法将参数发送到 __init__

python - 从 FOR 循环创建 numpy 数组的最佳方法

python - 如何在循环过程中将 df 附加到另一个 df

python - 在整数中添加浮点值时获取不同的值(PYTHON)

python - Django 表单中的 "Plus"按钮 : user-added fields possible?

python - 在 Python 中以 mm/dd/yyyy 格式显示当前日期

python - 如何使用 Python3 在 Linux 中比较两个不同日期的文件大小

python - 用 while 语句循环