1

我有一些代码可以获取我保存在计算机上的 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) 对我来说失败了,我应该如何尝试实现我的目标?响应对象是否具有固有的文件路径?任何帮助是极大的赞赏

4

1 回答 1

1

我想出了解决方案。存在包 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)

谢谢你的时间!

于 2019-01-31T12:55:34.460 回答