小编Blu*_*nix的帖子

将Python get请求的响应(jpg内容)转换为Numpy数组

我的函数的工作流程如下:

  • 通过python get请求检索jpg
  • 将图像保存为 png(即使下载为 jpg)到磁盘上
  • 使用 imageio 从磁盘图像读取并将其转换为 numpy 数组
  • 使用数组

这就是我所做的保存:

response = requests.get(urlstring, params=params)
      if response.status_code == 200:
            with open('PATH%d.png' % imagenumber, 'wb') as output:
                output.write(response.content)
Run Code Online (Sandbox Code Playgroud)

这就是我将 png 加载并转换为 np.array 所做的事情

imagearray = im.imread('PATH%d.png' % imagenumber)
Run Code Online (Sandbox Code Playgroud)

由于我不需要永久存储我下载的内容,因此我尝试修改我的函数以便直接转换 Numpy 数组中的 response.content 。不幸的是,每个类似 imageio 的库都以相同的方式从磁盘读取 uri 并将其转换为 np.array。

我尝试了这个,但显然它不起作用,因为它需要输入 uri

response = requests.get(urlstring, params=params)
imagearray = im.imread(response.content))
Run Code Online (Sandbox Code Playgroud)

有什么办法可以克服这个问题吗?如何将我的response.content转换为np.array?

arrays numpy python-3.x python-requests python-imageio

7
推荐指数
1
解决办法
4085
查看次数