Python вывод numpy массив в виде строки в кодировке base64 вместо jpg - PullRequest
2 голосов
/ 15 марта 2020

У меня есть простой Python3 скрипт, который создает изображение из массива numpy с использованием следующего ...

cv2.imwrite("finalImage.jpg", numpyArray) 

Это работает правильно, но теперь я хочу вывести base64 закодированная строка вместо изображения jpg.

Я знаю, что могу преобразовать выходное изображение jpg в строку base64, но есть ли способ сделать это напрямую, чтобы я мог пропустить дополнительный шаг вывода JPG?

Ответы [ 2 ]

3 голосов
/ 15 марта 2020
import base64
_, imagebytes = cv2.imencode('.jpg', numpyArray)
print(base64.b64encode(imagebytes))
2 голосов
/ 15 марта 2020

Вы можете использовать imencode(..) [opencv-doc] для записи изображения в буфер памяти:

success, buffer = cv2<b>.imencode(</b>'.jpg', numpyArray<b>)</b>

Вы можете затем для пример base64 кодировать это:

from base64 import b64encode

encoded_image = <b>b64encode(buffer)</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...