作为参考,这是我使用 Azure Blob Storage SDK for Python 和 OpenCV (pip install azure-storage-blob opencv-python) 下载 blob 图像以调整大小并将调整后的图像上传到 Azure Blob 的示例代码。
from azure.storage.blob import BlockBlobService
account_name = '<your account name>'
account_key = '<your account key>'
blob_service = BlockBlobService(account_name, account_key)
container_name = '<your container name>'
blob_name = 'test_cat2.jpg' # my test image name
resized_blob_name = 'test_cat2_resized.jpg' # my resized image name
# Download image
img_bytes = blob_service.get_blob_to_bytes(container_name, blob_name)
# Resize image to 1/4 original size
import numpy as np
import cv2
src = cv2.imdecode(np.frombuffer(img_bytes.content, np.uint8), cv2.IMREAD_COLOR)
cv2.imshow("src", src)
(height, width, depth) = src.shape
dsize = (width//4, height//4)
tgt = cv2.resize(src, dsize)
cv2.imshow("tgt", tgt)
cv2.waitKey(0)
# Upload the resized image
_, img_encode = cv2.imencode('.jpg', tgt)
resized_img_bytes = img_encode.tobytes()
blob_service.create_blob_from_bytes(container_name, resized_blob_name, resized_img_bytes)
OpenCV imshow 显示源图像和调整大小的图像,如下图所示。
我从 Azure Blob Storage 下载的源图片和调整大小的图片如下图。