【问题标题】:How to directly read an image file from a url address in R如何从R中的url地址直接读取图像文件
【发布时间】:2020-06-10 22:43:44
【问题描述】:

我正在尝试从 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.

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.

任何帮助将不胜感激!

【问题讨论】:

    标签: r url jpeg


    【解决方案1】:

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

    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
    

    【讨论】:

    • 谢谢托马斯。您能否提供一种方法,然后在加载后从 R 中删除文件 z
    • @Marcinthebox 刚刚添加。
    • 太棒了!非常感谢。干杯。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 2021-08-10
      • 1970-01-01
      相关资源
      最近更新 更多