Поскольку неясно, откуда вы получили переменную imge = "R0lGODlhEA..."
.Я хотел бы представить идеальный поток для преобразования изображения OpenCV в строку base64 и преобразования его обратно в OpenCV img как:
import cv2
import base64
import numpy as np
def to_base64(img):
_, buf = cv2.imencode(".png", img)
return base64.b64encode(buf)
def from_base64(buf):
buf_decode = base64.b64decode(buf)
buf_arr = np.fromstring(buf_decode, dtype=np.uint8)
return cv2.imdecode(buf_arr, cv2.IMREAD_UNCHANGED)
img = cv2.imread("/path/to/img.png")
img_base64 = to_base64(img)
img_decoded = from_base64(img_base64)
print img_decoded.shape
Также документация гласит:
Если буфер слишком короткий или содержит недопустимые данные, возвращается пустая матрица / изображение.
Мне кажется, что imge = "R0lGODlhEA..."
недопустимо.