如何直接从R中的URL地址读取图像文件

时间:2013-07-29 07:32:18

标签: r url jpeg

我正在尝试直接从网址加载.jpeg图片。我想知道是否有一种基本的方法来使用url连接。

我第一次尝试:

require(biOps)
con <- url("http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg")
pic <- readJpeg(con)
#Error in readJpeg(con) : Cannot open file.

This other question似乎是在同一行,但对于.png文件。我试图适应.jpeg,但也有错误。

require(biOps)
require(RCurl)
myurl <- "http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg"
pic <-  readJpeg(getURLContent(myurl))
#Error in readJpeg(getURLContent(myurl)) : Cannot open file.

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:20)

只需将图像保存为临时文件:

myurl <- "http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg"
z <- tempfile()
download.file(myurl,z,mode="wb")
pic <- readJPEG(z)
file.remove(z) # cleanup

答案 1 :(得分:2)

您不必将映像保存到磁盘。您可以通过以下网址直接读取图片:

library(magick)
image_url <- "http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg"
pic <- image_read(image_url)
print(pic)

enter image description here