首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取jpeg时r- Subscript超出界限

读取jpeg时r- Subscript超出界限
EN

Stack Overflow用户
提问于 2016-05-03 11:08:37
回答 1查看 311关注 0票数 0

我试图从一个文件夹中读取所有的jpg文件,并将其存储在一个向量中。

为了简单起见,我开始只读两张图片。

首先,我创建了一个列表,它给了我一个1:2的字符向量。

代码语言:javascript
复制
original_files <- list.files("D:/User/Documents/Folder", pattern="*jpg$", full.name=F)

其结果是:

代码语言:javascript
复制
[1] "File1.jpg" "File2.jpg"

然后创建一个空列表和一个for循环来读取它们并存储它们:

代码语言:javascript
复制
empty_list=list()
    for (i in original_files) 
    {
      img <- readJPEG(original_files[[i]])
      empty_list[[i]] <- img
  }

它执行返回以下错误的函数:

代码语言:javascript
复制
Error in gabor_ori_files[[i]] : subscript out of bounds

我真的不明白为什么我会收到这个信息,也不明白如何解决这个问题。我尝试使用而不是for循环,但它也不起作用。

任何帮助都将不胜感激。提前谢谢你的时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-11 07:59:19

错误来自定义for参数的方式。

代码语言:javascript
复制
for (i in original_files)

这意味着我应该接受original_files中的值,意思是"File1.jpg“"File2.jpg”。在第一个循环中,您所要求的

代码语言:javascript
复制
img <- readJPEG(original_files[["File1.jpg"]])

但是,向量中没有一个元素的名称为"File1.jpg",它们的值为"File1.jpg“。

避免这种混乱的最好方法是总是在位置上循环,而不是名称。按顺序用词,用

代码语言:javascript
复制
for (i in 1:length(original_files))

它应该会起作用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37002460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档