将图像显示为 Uint8Array

问题描述

我知道这个问题已经有一些回答,但其中一个很清楚。

我有以下数组:

Uint8Array[112,135,57,112,56,109,133,58,131,55,108,130,53,106,127,54,102,123,51,122,103,121,100,119,...]

有 19000 个元素(它是从 numpy 扁平化的 rgb 图像)

我有一个 React 应用程序:

现在的问题是如何在不将其转换为 base64 的情况下填充此图像。 我尝试了很多事情,例如:

const data = new Uint8Array(image[0].image);
const blob = new Blob([data],{ type: "image/png" });
const imageUrl = URL.createObjectURL(blob);

将 imageUrl 设置为 src= 不起作用,我正在查看 image-js 库,但我需要一些帮助

解决方法

我最终在后端执行此操作:

has_term

在前端我做了:

image = Image.fromarray(img_uint8)
img_byte_arr = io.BytesIO()
image.save(img_byte_arr,format='JPEG')
img_byte_arr = img_byte_arr.getvalue()
b64_str_img = base64.b64encode(img_byte_arr).decode()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...