将numpy数组转换为base64

时间:2019-11-27 08:19:49

标签: python

我想将帧从视频文件转换为base64,而不保存在目录中。

我使用:img = frame.copy()从视频中获取一帧,并返回一个numpy数组。

如何将其转换为base64以存储在数据库中并显示在Web中。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下代码应该可以工作-注意,您必须根据需要切换格式和相应的base64字符串。在此示例中,我使用了PNG。

from PIL import Image
from io import BytesIO
import base64

data = frame.copy()

image_out = Image.fromarray(data)
buffer = BytesIO()
image_out.save(buffer, format="PNG")
base64_str = "data:image/png;base64," + base64.b64encode(buffer.getvalue()).decode("utf-8")

输出:

>>> base64_str
`data:image/png;base64,iVBORw...`