【问题标题】:Converting uint8 array to image将 uint8 数组转换为图像
【发布时间】:2016-06-19 01:05:35
【问题描述】:

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

有什么办法可以做到吗?

【问题讨论】:

  • 您可以将numpy数组转换为PIL.image,然后使用“save”方法将其编码为jpg
  • @Yaroslav 是的,有一种方法可以使用 PIL 库 kaggle.com/c/…

标签: python ruby image-processing tensorflow deep-learning


【解决方案1】:

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

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

任一操作的结果都是 tf.string 张量,您可以对其进行评估并写入文件。

【讨论】:

  • 谢谢@mrry!顺便说一句,我找到了一种使用 PIL python 库kaggle.com/c/… 的方法
【解决方案2】:

我可以很容易地使用 Octave。 在这里,我尝试生成一个 48x48 的随机矩阵,然后将图像保存为 jpg 格式。

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

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

如果您可以提供有关您想要实现的目标的更多详细信息。你需要做一次还是你需要它作为程序的一部分。

希望有所帮助。

【讨论】:

    猜你喜欢
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2022-07-21
    • 2019-12-11
    • 2019-01-09
    相关资源
    最近更新 更多