【问题标题】:Load more than one image in R with load.image() function from "imager" package使用“imager”包中的 load.image() 函数在 R 中加载多个图像
【发布时间】:2019-04-06 11:53:44
【问题描述】:

我想使用“imager”包中提供的 load.image() 函数加载多个图像,但出现“找不到文件”消息的错误。有人可以帮我解决这个问题吗?

我尝试加载列表中的图像,并将此列表作为参数添加到 load.image() 函数中,但它只能读取一个文件,因此无法接受列表。在此之后,我尝试使用 for 循环在列表中进行迭代,并将循环中的索引添加为参数,我遇到了这个问题:“wrap.url 中的错误(文件,load.image.internal):文件没找到”

filenames <- list.files("~/Downloads/project", pattern="*.JPG")

for(idx in filenames) {
   load.image(idx)
   "I tried here with concatenate the idx with the path string, but with no success"
   load.image(paste("~/Downloads/project",idx))  
}

【问题讨论】:

  • 这可能就像指定要在粘贴函数中使用的分隔符一样简单。 load.image(paste("~/Downloads/project",idx,sep=""))

标签: r loadimage


【解决方案1】:

尝试将full.names = T 选项添加到list.files。这将添加文件的完整路径,如果不存在,则只返回文件名。

list.files("~/Downloads/project", pattern="*.JPG", full.names = T)

那么在你的循环中只需要load.image(idx)

【讨论】:

  • 您好!你能帮我解决另一个问题吗?使用 load.image() 函数加载更多文件现在可以成功运行,但是我遇到了以下问题。当我想将此“idx”参数添加到名为 grayscale() 的函数时,出现以下错误:“if (spectrum(im) == 1) { 中的错误:参数长度为零”你能不能给我有任何提示,究竟是什么原因造成的?提前谢谢!
  • @BálintMolnár 我建议您使用您的代码和一些可以重现您遇到的错误的示例数据打开一个新问题。我假设您已经搜索了错误消息和触发它的函数,并且您没有找到满意的答案。
  • 你好@R。希菲尼。我为它提出了一个新问题:stackoverflow.com/questions/55580110/… 我试图只运行代码部分,你可以在这个链接中看到,在开始时使用必要的包,比如:require(imager);但我有同样的错误,所以我可以调试它,因为我只有在我想运行 grayscale() 函数时才会遇到这个错误。我使用的数据\图片只是交通景点的jpg文件。你能看看我评论中链接中的问题吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
相关资源
最近更新 更多