【问题标题】:how to download and display an image from an URL in R?如何从 R 中的 URL 下载和显示图像?
【发布时间】:2015-05-20 13:53:33
【问题描述】:

我的目标是从 URL 下载图像,然后在 R 中显示。

我得到了一个 URL 并想出了如何下载它。但是下载的文件因为“损坏、损坏或太大”而无法预览。

y = "http://upload.wikimedia.org/wikipedia/commons/5/5d/AaronEckhart10TIFF.jpg"
download.file(y, 'y.jpg')

我也试过

image('y.jpg')

在 R 中,但错误消息显示如下:

Error in image.default("y.jpg") : argument must be matrix-like 

有什么建议吗?

【问题讨论】:

  • 似乎根本问题与here相同

标签: r image url download


【解决方案1】:

如果我尝试您的代码,看起来图像已下载。但是,当使用 windows 图像查看器打开时,它也说它已损坏。 原因是您没有在download.file 语句中指定mode

试试这个:

download.file(y,'y.jpg', mode = 'wb')

有关该模式的更多信息,请参阅?download.file

这样至少您下载的文件可以正常工作。

要在 R 中查看图像,请查看

jj <- readJPEG("y.jpg",native=TRUE)
plot(0:1,0:1,type="n",ann=FALSE,axes=FALSE)
rasterImage(jj,0,0,1,1)

how to read.jpeg in R 2.15Displaying images in R in version 3.1.0

【讨论】:

  • 谢谢!现在可以了。一个后续问题:如果我不想在磁盘上下载(保存)jpeg 文件而只是将其保存到工作场所,我该怎么办?
  • 您可以将图像下载为临时文件。如果这回答了您的原始问题,请接受第一个答案
  • 添加 arg mode = 'wb' 后,它就可以工作了。谢谢。
【解决方案2】:

这也可以 这里

library("jpeg")

library("png")

x <- "http://upload.wikimedia.org/wikipedia/commons/5/5d/AaronEckhart10TIFF.jpg"    

image_name<- readJPEG(getURLContent(x)) # for jpg

image_name<- readPNG(getURLContent(x)) # for png

【讨论】:

    【解决方案3】:

    下载图片后,您可以使用 base R 使用默认的图片查看器程序打开文件,如下所示:

    file.show(yourfilename)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多