R - 读取 jpeg 时下标越界
R - Subscript out of bounds when reading jpeg
我正在尝试从文件夹中读取所有 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
我不太明白为什么会收到此消息或如何解决它。我试过使用 lapply 而不是 for 循环,但它也不起作用。
如有任何帮助,我们将不胜感激。在此先感谢您的时间。
错误来自于您定义 for 参数的方式。
for (i in original_files)
表示我应该取 original_files 中的值,意思是 "File1.jpg" "File2.jpg"。在第一个循环中,你要求
img <- readJPEG(original_files[["File1.jpg"]])
但是,向量中的 none 个元素具有 name "File1.jpg",它们具有 value 共 "File1.jpg"
避免这种混淆的最好方法是始终遍历位置而不是名称。换句话说,使用
for (i in 1:length(original_files))
那应该可以了
我正在尝试从文件夹中读取所有 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
我不太明白为什么会收到此消息或如何解决它。我试过使用 lapply 而不是 for 循环,但它也不起作用。
如有任何帮助,我们将不胜感激。在此先感谢您的时间。
错误来自于您定义 for 参数的方式。
for (i in original_files)
表示我应该取 original_files 中的值,意思是 "File1.jpg" "File2.jpg"。在第一个循环中,你要求
img <- readJPEG(original_files[["File1.jpg"]])
但是,向量中的 none 个元素具有 name "File1.jpg",它们具有 value 共 "File1.jpg"
避免这种混淆的最好方法是始终遍历位置而不是名称。换句话说,使用
for (i in 1:length(original_files))
那应该可以了