В качестве примера, вот мой пример кода с использованием Azure Blob Storage SDK для Python и OpenCV (pip install azure-storage-blob opencv-python
), чтобы загрузить изображение большого двоичного объекта для изменения размера и загрузить измененное изображение в 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
показывает исходное изображение и изображения с измененным размером, как показано на рисунке ниже.
Исходное изображение и изображения с измененным размером I загрузить с Azure Хранение BLOB-объектов, как показано на рисунке ниже.