将 uint8 数组转换为图像

Converting uint8 array to image

我正在尝试将 48x48 图像的 uint8 array 转换为其对应的 48x48 图像文件 (jpg/jpeg/gif)。我尝试将数组内容转换为第一个二进制文件,然后将其写入('wb' 模式)到文件中,但没有成功。

有什么方法可以做到这一点吗?

我可以使用 Octave 轻松完成相同的操作。 在这里,我尝试生成一个 48x48 的随机矩阵,然后将图像保存为 jpg 格式。

img = rand(48,48);
imwrite(img, "test.jpg")

您可以使用此方法保存任何类型的图像。

如果你能提供更多关于你想要实现的目标的细节。您只需要执行一次还是需要将其作为程序的一部分。

希望对您有所帮助。

如果您在 TensorFlow 中生成图像(正如我从您的标签中推断的那样),您可以使用 tf.image.encode_jpeg() or tf.image.encode_png() 操作将 uint8 张量编码为图像:

uint8_data = ...
image_data = tf.image.encode_png(uint8_data)

任一操作的结果都是一个 tf.string 张量,您可以对其求值并将其写入文件。