首页 > 解决方案 > 如何将文件夹中的所有 JPEG 图像加载到 R 变量?

问题描述

我想要来自“train”文件夹的 R 变量中的所有图像。共有 18539 张图片,它们的名称分别为 (0.jpg, 1.jpg,...... 18539.jpg)。

当我的图像较少时,我曾经以这种方式进行操作。当我们有很多图像时,有没有更有效的方法?

Img <- c("train/0.jpg","train/1.jpg.........")
trainImg <- []
for (i in 1:18) 
{
  trainImg[[i]] <- readImage(Img[i])
}

即使我们不知道一个文件夹有多少图像,我也想加载所有图像。该函数应加载文件夹中的所有图像并将它们存储在列表中。

标签: rimagejpeg

解决方案


要自动创建文件名,请尝试以下操作:

 filenames<-paste0("train/", 0:18539, ".jpg")

这将创建列表:

[1] "train/0.jpg"  "train/1.jpg"  "train/2.jpg"  "train/3.jpg" ....

然后,您可以按照评论中的建议将此向量传递给 lapply 函数。

如果您想要目录中的文件列表,请使用list.filesfunction.

 filenames<-list.files("train/", pattern=".jpg")

推荐阅读