【问题标题】:Store and append numpy array in azure blob在 azure blob 中存储和附加 numpy 数组
【发布时间】:2023-03-23 15:28:01
【问题描述】:

我想遍历图像列表,将其转换为 numpy.darray 并将其存储在 azure blob 存储中。每个循环我都想将 np.array 附加到 azure blob。总体目标是通过 azure blob 将 y 轴上的所有图像合并。

【问题讨论】:

  • 你的意思是把图片转换成数组并追加np.array,然后上传到azure blob吗?
  • 是连接多张图片
  • 每次迭代都将图像上传到同一个 azure blob 文件

标签: python azure azure-blob-storage


【解决方案1】:

简单的演示会有所帮助。要将图像转换为数组,请先安装 Pillow 以使用 pip install Pillow 的 PIL。

from azure.storage.blob import BlockBlobService
from PIL import Image
from numpy import asarray
import numpy as np
import os

account_name = '<your storage account name>'
account_key = '<your access key>'
container_name = '<your container name>'

blob_service = BlockBlobService(account_name, account_key)
 
FilePathlist = ['xxxxx', 'xxxxx']
 
blob = []

for filePath in FilePathlist :
 
    print(filePath)
    # load the image
    image = Image.open(filePath)
    
    # convert image to numpy array
    data = asarray(image)

    # append np.array
    blob = np.append(blob, data)

# Upload to blob
print("upload")
blob_service.create_blob_from_bytes(container_name, "aaaaa.jpg", blob.tobytes())

我试过了,并将它们上传到 blob。

参考:

Uploading array as a .jpg image to Azure blob storage

文档numpy.append

Convert image to NumPy Array

【讨论】:

  • 如果我的回复有帮助,请采纳为答案(点击回复旁边的标记选项将其从灰色切换为填写。),请参阅meta.stackexchange.com/questions/5234/…
  • 谢谢帕梅拉,但我想追加数组而不是创建新的每个循环。我有一大块图像,我将循环并附加到 azure blob。最终图像结果将是 azure blob 上的单个图像。
  • 嗨,@Somup 我编辑了答案中的代码,只需更改循环即可。希望对您有所帮助。
  • 感谢您的回答,但我认为我的问题仍未得到解答。我需要在每次迭代时将数组上传到 azure blob。由于我在内存有限的 azure 函数上运行代码,因此无法将 np 数组附加到局部变量。 azure blob 上的文件会不断增长,直到迭代完成。
  • 该文件夹将包含多个 png,并且每次迭代都必须将 np.darray 附加到同一个 azure blob 文件
猜你喜欢
  • 2014-02-03
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 2012-05-20
  • 2020-01-01
  • 1970-01-01
  • 2016-06-16
  • 2016-09-12
相关资源
最近更新 更多