我有一個 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')
添加回答
舉報
0/150
提交
取消