如何在R中直接从url地址读取图片文件。

问题描述 投票:12回答:2

我想直接从一个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.

这另一个问题 似乎是沿着同样的路线,但对于一个.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.

任何帮助将是非常感激

r url jpeg
2个回答
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

0
投票

您不需要将图像保存到磁盘中。您可以直接通过URL读取图片,如下图所示。

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

© www.soinside.com 2019 - 2024. All rights reserved.