gpt4 book ai didi

arrays - Julia 将图像从 URL 直接下载到内存中

转载 作者:行者123 更新时间:2023-12-03 23:04:08 26 4
gpt4 key购买 nike

我想从网上下载这张图片。 Julia 有没有办法避免将文件下载到磁盘然后再加载回来,然后直接加载到内存中?
例子:
https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
目前我可以这样做,这需要我将数据写入磁盘,然后将其加载回内存:

Using Images
Using HTTP
download("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png", "google.png")
img = load("google.png")

julia> typeof(img)
Array{RGB{Normed{UInt8,8}},2}
我可以看到我期望的类型是一个 RGB 值数组
但是,如果我尝试直接使用 HTTP 发出请求,则会得到一个向量,它似乎不容易转换为图像数组格式
r = HTTP.get("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png")

julia> r.body
13504-element Array{UInt8,1}:
0x89
0x50
0x4e
0x47
0x0d
0x0a
0x1a

0x45
0x4e
0x44
0xae
0x42
0x60
0x82
直接将此图像数据转换为正确图像格式的最佳方法是什么?

最佳答案

这已在 ImageMagick.jl 中编程
设置:

using HTTP, ImageMagick
r = HTTP.get("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png")
buffer = IOBuffer(r.body)
解析:
julia> ImageMagick.load(buffer)
184×544 Array{RGBA{N0f8},2} with eltype ColorTypes.RGBA{FixedPointNumbers.Normed{UInt8,8}}:
RGBA{N0f8}(0.0,0.0,0.0,0.0) … RGBA{N0f8}(0.0,1.0,1.0,0.0)
...

关于arrays - Julia 将图像从 URL 直接下载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63732817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com