将多张图片上传到R

时间:2020-04-16 15:41:27

标签: r image

我正在尝试上载多个图像以在R中进行一些机器学习。我可以上载一个图像,但是当我尝试使用lapply或for循环上载多个图像时,出现以下错误: “ wrap.url(file,load.image.internal)中的错误:找不到文件”。我做了检查以确保文件确实存在,正确设置了我的WD,并且R识别出文件和目录确实存在。不管我更改什么,错误始终是相同的。如果我列出了来自它的驱动器或来自WD的驱动器的路径,则结果不会改变。我曾向许多人寻求帮助,但没有成功。我已经在下面使用lapply和for循环发布了我的代码。我对R还是比较陌生,因此,如果我缺少某些东西,我将不胜感激。另外,我在这里使用成像器加载文件。

eggs2015 <- list() 
file_list <- list.files(path="~/Grad School/Thesis Work/Machine Learning R/a2015_experimental_clustering_R/*.jpg", pattern="*.jpg", full.names = TRUE)

for (i in 1:length(file_list)){                                           
  Path <- paste0("a2015_experimental_clustering_R",file_list[i])
  eggs2015 <- c(eggs2015, list(load.image(Path))) 
}

names(eggs2015) <- file_list 
eggs2015 <- list.files(path = "~/Grad School/Thesis Work/Machine Learning R/2015_experimental_clustering_R", pattern = ".jpg", all.files = TRUE, full.names = TRUE)
eggs2015 <- lapply(list, FUN = load.image("~/Grad School/Thesis Work/Machine Learning R/a2015_experimental_clustering_R/*.jpg"))
eggs2015 <- as.data.frame(eggs2015)

1 个答案:

答案 0 :(得分:0)

我个人比较喜欢使用auto ch = CrewHauler(); std::cout << CrewHauler() << std::endl << ch; 这样的操作,以便以后可以标识具有原始文件名的图像(如果需要):

sapply

应该可以工作,并使用文件路径作为名称为您的图像提供元素列表

或者使用FilesToRead <- list.files(path = "~/Grad School/Thesis Work/Machine Learning R/2015_experimental_clustering_R", pattern = ".jpg", all.files = TRUE, full.names = TRUE) ListOfImages <- sapply(FilesToRead, FUN = load.image, simplify = FALSE, USE.NAMES = TRUE) lapply只是sapply的包装)

lapply

如您所见,您的代码只需要进行一些调整。

希望有帮助