我有一些代码可以提取保存在计算机上的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/