我有一些代码可以提取保存在计算机上的JP2图像文件,并将它们转换为numpy数组。代码如下:

import rasterio
import numpy as np

arrs = []

with rasterio.open('...image_file_path.jp2') as f:
    arrs.append(f.read(1))

data = np.array(arrs, dtype=arrs[0].dtype)


我写了一个脚本,可以使用请求来获取这些图像:

image_response = requests.get('https://image_url.jp2')


我现在的问题是如何合并这些方法?仅仅使用rasterio.open(image_response)对我来说是失败的,我应该如何去实现我的目标?响应对象是否具有固有的文件路径?任何帮助是极大的赞赏

最佳答案

我想出了解决方案。存在软件包BytesIO和StringIO可以做到这一点。完整的代码如下:

import rasterio
import numpy as np
import requests
from io import BytesIO

image_response = requests.get('https://image_url.jp2')

arrs = []

with rasterio.open(BytesIO(image_response.content)) as f:
    arrs.append(f.read(1))

data = np.array(arrs, dtype=arrs[0].dtype)


谢谢你的时间!

关于python - 如何将响应对象输入与需要文件路径的代码集成在一起?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54460741/

10-15 23:52