2013-07-29 81 views
10

我試圖直接從URL地址加載.jpeg圖像。我想知道是否有一個基本的方法來使用url連接來完成此操作。如何直接從R的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. 

任何幫助將不勝感激!

回答

18

只需將圖像保存爲一個臨時文件:

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

感謝托馬斯。你還可以提供一種方法,然後在加載後從R中刪除文件'z'? –

+0

@Marcinthebox剛添加它。 – Thomas

+0

太棒了!非常感謝。乾杯。 –