【问题标题】:How to convert and organize different dimensioned rgb images into CSV file?如何将不同尺寸的 rgb 图像转换和组织成 CSV 文件?
【发布时间】:2019-06-30 09:42:58
【问题描述】:

我的数据集中有大约 30 万张格式为 .jpg 的图像。但是图像的尺寸不同。我想将所有图像的 rgb 通道转换为 .csv 文件,但我应该将什么写入空单元格?它可能是“N”字符,但我想用 numpy 和 DataFrame 组织 .csv 文件。任何想法? (数据集用于创建深度学习模型)

【问题讨论】:

  • 您是在进行图像处理(可以使用Pillow)还是元数据处理?
  • 我不做图像处理,数据集是用来创建深度学习模型的。
  • 我想你可以很容易地将它们全部调整到一个通用大小......我希望你有很多磁盘来使用这种低效的存储技术!
  • 它可能正在调整到常用大小,但在这种情况下,大部分数据可能会丢失,这不是一个解决方案。
  • 为什么不把 np.nan 之类的东西放在空单元格中?

标签: python image csv numpy image-processing


【解决方案1】:

这开始是一条评论,但太长了。我认为答案完全取决于您希望代码在缺少值时执行的操作。

如果像素为空,例如,设置白色 (255,255,255) 或黑色 (0,0,0) 可能对深度学习模型的侵入性最小(您需要研究这种方式作品)。我发现拉伸/缩放图像实际上是最好的方法。

仅在 csv 中写入空记录(空字符串或逗号之间的间隙)是一种选择,请参阅this 答案。如果您使用numpy.genfromtxt 读取数据,则可以根据需要设置missing_valuesfilling_values。您还可以为 99999DEADBEEF 等空记录创建一个绝对不会自然出现的精确值,以识别这些并编写代码以根据需要进行解析。

一个考虑因素是您需要在读取后将数据重新整形为相同的图像尺寸,因此请确保您选择的任何格式都保持相同的行数。

另外,您需要一个大的 CSV 文件还是许多较小的文件?如果存储的文件很多,可以考虑添加header数据来指定数据的实际大小,这样你只需要存储图片,然后skip_headergenfromtxt中,根据需要填充。

最后,您最好使用二进制文件,因为您有大量数据,请考虑使用this,因为它占用的空间更少,读/写速度更快。

【讨论】:

  • 感谢您的建议,我会努力的。
猜你喜欢
  • 2021-10-09
  • 1970-01-01
  • 2013-07-21
  • 2017-03-25
  • 2021-08-14
  • 2018-08-24
  • 1970-01-01
  • 2020-10-25
  • 2015-02-28
相关资源
最近更新 更多