Загрузка нескольких изображений в R - PullRequest
1 голос
/ 16 апреля 2020

Я пытаюсь загрузить несколько изображений для машинного обучения в R. Я могу загрузить одно изображение просто отлично, но когда я пытаюсь загрузить несколько изображений, используя или lapply или a для l oop, я получаю следующая ошибка: «Ошибка в wrap.url (файл, load.image.internal): файл не найден». Я проверил, чтобы убедиться, что файлы существуют, мой WD установлен правильно, и R распознает, что файлы и каталог существуют. Что бы я ни менял, ошибка всегда одна и та же. Это не изменит результат, если я перечислю путь от диска, с которого он исходит, или от WD и далее. Я попросил многих людей о помощи без успеха. Я разместил свой код, используя lapply и a для l oop ниже. Я все еще относительно новичок в 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 голосов
/ 16 апреля 2020

Лично для такого рода операций я предпочитаю использовать 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)

ListOfImages <- lapply(FilesToRead, FUN = load.image)

Как видите, ваш код просто нужно немного подправить.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...