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

Mar*_*box 12 url jpeg r

我正在尝试直接从URL地址加载.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.
Run Code Online (Sandbox Code Playgroud)

另一个问题似乎是相同的,但对于.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.
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Tho*_*mas 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
Run Code Online (Sandbox Code Playgroud)


ozt*_*kib 7

您不必将图像保存到磁盘中。您可以通过以下 URL 直接读取图像:

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

在此输入图像描述