我试图从一个文件夹中读取所有的jpg文件,并将其存储在一个向量中。
为了简单起见,我开始只读两张图片。
首先,我创建了一个列表,它给了我一个1:2的字符向量。
original_files <- list.files("D:/User/Documents/Folder", pattern="*jpg$", full.name=F)其结果是:
[1] "File1.jpg" "File2.jpg"然后创建一个空列表和一个for循环来读取它们并存储它们:
empty_list=list()
for (i in original_files)
{
img <- readJPEG(original_files[[i]])
empty_list[[i]] <- img
}它执行返回以下错误的函数:
Error in gabor_ori_files[[i]] : subscript out of bounds我真的不明白为什么我会收到这个信息,也不明白如何解决这个问题。我尝试使用而不是for循环,但它也不起作用。
任何帮助都将不胜感激。提前谢谢你的时间。
发布于 2016-05-11 07:59:19
错误来自定义for参数的方式。
for (i in original_files)这意味着我应该接受original_files中的值,意思是"File1.jpg“"File2.jpg”。在第一个循环中,您所要求的
img <- readJPEG(original_files[["File1.jpg"]])但是,向量中没有一个元素的名称为"File1.jpg",它们的值为"File1.jpg“。
避免这种混乱的最好方法是总是在位置上循环,而不是名称。按顺序用词,用
for (i in 1:length(original_files))它应该会起作用的。
https://stackoverflow.com/questions/37002460
复制相似问题