简体   繁体   中英

How to directly read an image file from a url address in R

I'm trying to directly load a .jpeg image from a url address. I'm wondering if there is a basic way to do this by using a url connection.

I first tried:

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 seems to be along the same lines, but for a .png file. I tried to adapt to a .jpeg, but also got an error.

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.

Any help would be greatly appreciated!

Just save the image as a temporary file:

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

You do NOT have to save the image into the disk. You could directly read the image through the URL as well as below:

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

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM