Вот как base64 кодирует JPEG / PNG или любое другое представление изображения:
import base64
# Base64 encode a PNG/JPEG image
b64 = base64.b64encode(open('image.png','rb').read())
А вот как декодировать и вернуть ваше изображение:
import io
from PIL import Image
# Base64 decode and convert from PNG/JPEG to PIL Image
im = Image.open(io.BytesIO(base64.b64decode(b64)))
В качестве альтернативы, если вы используете OpenCV , вы можете получить массив Numpy, который OpenCV использует для обработки изображений, в этом случае вы можете сделать:
import cv2
NumpyIM = cv2.imdecode(np.asarray(bytearray(base64.b64decode(b64))),0)
Обратите внимание, что при этом синий и зеленый каналы будут взаимозаменяемы по отношению к PIL / Pillow, то есть BGR против RGB.
Ключевые слова : OpenCV, PIL, Pillow, Python, обработка изображений, кодировка base64, кодирование, декодирование, декодирование, imencode, imdecode, BytesIO, io.BytesIO.