Правильно декодировать base64 что бы работало с cv2
Приходит изображение по апи в байтах, я его декодирую и совершаю манипуляции с cv2. Проблема в том что после декодинга не видит размеры (cv2.shape). Как правильно обработать чтобы работало?
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
img = base64.b64decode(image_64_encode)
koef = 512/img.shape[1]
dsize = (512, round(img.shape[0]*koef))
output = cv2.resize(img, dsize)
gray = cv2.cvtColor(output, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.05, 10)
for (x, y, w, h) in faces:
x1 = round(x+(w/2)-256)
y1 = round(y+(h/2)-256)
crop_img = output[y1:y1 + 512, 0:512]
cv2.imshow("img", crop_img)
cv2.waitKey(0)
'bytes' object has no attribute 'shape'
Источник: Stack Overflow на русском