【问题标题】:How to Convert the data of all images in a folder into a csv file?如何将文件夹中所有图像的数据转换为csv文件?
【发布时间】:2022-03-27 06:43:28
【问题描述】:

我目前正在做一个项目。为此,我拍摄了照片并将它们保存在一个文件夹中。

创建的图像文件始终称为0a0e69f4-c3c9-11eb-908c.jpg。现在我想将创建的图像转换为 CSV 文件。我用 cv2 阅读了图片。

image = cv2.imread("a0e69f4-c3c9-11eb-908c.jpg")

我的问题是如何使用 run 方法将完整的图像输出到 csv 文件?如果我在`image = cv2.imread("Output_Images")`中手动输入每个图像的路径,它就可以工作。由于图像太多,我想一键将完整的图像转换为 CSV 文件。我该怎么做?

【问题讨论】:

  • 这就是我们使用函数的目的,如果你一遍又一遍地重复一个过程。你的参数是文件夹。然后遍历该文件夹中的所有文件,并为每个文件做一些事情(在你的情况下转换它们)
  • 谢谢。我怎样才能让它只接管某些图片,例如我有三张名为Test_1, Test_2, Test_3 的图片。文件夹里还有其他的图片,不过叫别的。我只希望将这三张图片传输到 csv 文件中,而忽略所有其他图片。

标签: python


【解决方案1】:

只需使用 for 循环并遍历目录中的图像:

import glob
for file in glob.iglob('Output_Images/*.jpg'):
        image = cv2.imread(file)

【讨论】:

    【解决方案2】:

    os.listdir('Output_Images') 将为您提供目录中所有文件的列表,然后使用字符串连接或os.path.join() 通过 for 循环动态构建路径。

    【讨论】:

      【解决方案3】:
      import os
      import matplotlib.pyplot as plt
      def load_img(name):
          img = plt.imread(name)
          return img
      images = [load_img(im) for im in os.listdir(Path)]
      

      【讨论】:

      • 请格式化您的答案
      • 这里的Path 是什么?请注意,代码在附有解释时会更有帮助。请阅读How to Answer
      • 请详细说明你的答案:为什么它可以解决问题?与其他答案有什么不同?
      猜你喜欢
      • 1970-01-01
      • 2016-12-17
      • 2018-05-07
      • 1970-01-01
      • 2020-06-09
      • 2022-11-10
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      相关资源
      最近更新 更多