Читать несколько изображений в R - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть 500 изображений в папке, и я должен обработать их с помощью ReadImage (), rgb_2gray (), resizeImage () и затем сохранить их в векторе. Я пробовал разные подходы, но я не знаю, как получить доступ к каждому изображению, а затем сохранить их в векторе. Каждое изображение имеет данные для анализа.

Спасибо за помощь!

Это то, что я только что попробовал:

library(OpenImageR)
setwd("C:/Users/Idoia/Desktop/UOC/UOC 2020/Machine learning/PEC 1")
lista<-list.files("C:/Users/Idoia/Desktop/UOC/UOC 2020/Machine learning/PEC 1/normal", 
                  all.files = FALSE, full.names = TRUE)
df<-data.frame()
for (i in length(lista)) {
  pic<-readImage(lista[i])
  pic<-rgb_2gray(pic)
  pic<-resizeImage(pic, width = 64, height = 64)
  pic<-as.vector(pic)
  pre_pic<-t(pic)
  df<-rbind(df,pre_pic)
}

Он хранит только одну строку, а мне нужно 500 строк. Похоже, что это только чтение первого изображения.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Итак, я решил проблему, добавив 1: длина

df<-data.frame()
for (i in 1:length(lista)) {
pic<-readImage(lista[i])
pic<-rgb_2gray(pic)
pic<-resizeImage(pic, width = 64, height = 64)
pic<-as.vector(pic)
pre_pic<-t(pic)
df<-rbind(df,pre_pic)}

Спасибо всем !! :)

0 голосов
/ 04 апреля 2020

Вы можете использовать для l oop.

library(OpenImageR)
setwd("~/Images/")
Files <- list.files()
Results <- list()
for(i in seq_along(Files)){
      Image <- readImage(Files[i])
      Resized <- resizeImage(Image, width = 200, height = 200)
      Gray <- rgb_2gray(Resized)
      Results[[i]] <- Gray
}

Затем вы можете получить доступ к результатам, используя [[ в списке Results.

imageShow(Results[[1]])

Plot

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