为了账号安全,请及时绑定邮箱和手机立即绑定

将 numpy 数组转换为 html img 标签的 src 可读的字节串

将 numpy 数组转换为 html img 标签的 src 可读的字节串

慕标5832272 2023-04-18 14:40:09
我有一个 numpy 数组,我想通过组件src的属性显示img html它,有点像这个例子:def get_placeholder_thumbnail_html_value():     encoded_image = base64.b64encode(open("../assets/placeholder_thumbnail.png", 'rb').read())     return 'data:image/png;base64,{}'.format(encoded_image.decode())然后可以发送返回的字符串以分配给src相应img html组件的属性(我使用 plotly dash 回调来做到这一点)。问题:在上面的例子中,我是从服务器上的 png 图像做的。我怎么能从 numpy ndarray 做同样的事情?def get_thumbnail_html_value_from_ndarray(ndarray):     return 'data:image/png;base64,{}'.format(<what here ?>)它可以解析为 jpg 或其他任何格式,只要 html 可以正确解释图像。编辑:我可以将其作为 png 文件保存在服务器上,然后使用上面的示例将其加载回来,但它似乎效率很低,所以我不喜欢这种解决方法。
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

我遇到了基本相同的问题,附加条件是图像格式需要为 png。这是我使用 cv2 和 base64 的解决方案:


import cv2

import base64


def ndarray_to_b64(ndarray):

    """

    converts a np ndarray to a b64 string readable by html-img tags 

    """

    img = cv2.cvtColor(ndarray, cv2.COLOR_RGB2BGR)

    _, buffer = cv2.imencode('.png', img)

    return base64.b64encode(buffer).decode('utf-8')


查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信