image.blob은 일반적으로 이미지 데이터가 이진(binary) 형태로 저장된 Blob (Binary Large Object) 을 의미합니다.
파이썬에서 image.blob을 numpy.array로 변환하려면, 이진 데이터를 이미지로 디코딩한 다음, 다시 배열로 변환해야 합니다. 가장 일반적인 방법은 Pillow 또는 OpenCV를 사용하는 것입니다.
✅ 방법 1: Pillow + numpy
from PIL import Image
import numpy as np
import io
# image.blob 이 있다고 가정
img_blob = image.blob # bytes 형태
# BytesIO로 감싸서 Pillow 이미지로 변환
img = Image.open(io.BytesIO(img_blob))
# numpy 배열로 변환
img_array = np.array(img)
✅ 방법 2: OpenCV + numpy
import numpy as np
import cv2
# image.blob 이 있다고 가정
img_blob = image.blob # bytes 형태
# numpy 배열로 변환하고 OpenCV로 디코딩
nparr = np.frombuffer(img_blob, np.uint8)
img_array = cv2.imdecode(nparr, cv2.IMREAD_COLOR) # 또는 IMREAD_UNCHANGED
📌 주의할 점
- 이미지 포맷에 따라 Image.open 또는 cv2.imdecode 가 실패할 수 있습니다. JPEG/PNG 등 표준 포맷이어야 합니다.
- image.blob이 진짜 blob인지, 그냥 파일 경로 혹은 base64 같은 다른 형태인지 먼저 확인하는 게 중요합니다.