【问题标题】:Save image without rescaling保存图像而不重新缩放
【发布时间】:2013-11-04 08:34:00
【问题描述】:

我有一个二维数组,我需要将它保存为图像。在不重新缩放的情况下最好的方法是什么?之后我想读取图像并检查这些值是否已正确保存。我将它保存为 bmp 以避免压缩问题,但其他格式也应该没问题。

【问题讨论】:

  • PNG 工作(压缩,无损)。
  • @Cloud,它不起作用。

标签: python image-processing


【解决方案1】:

要保存图像,您可以使用 SciPys imsave 函数。

imsave(path, image)

编辑:要将图像另存为bmp,只需相应地选择path 中的文件扩展名。

EDIT2:为了防止强度归一化,您可以使用

scipy.toimage(image, cmin=0, cmax=255, mode='I').save("image.png")

您可以使用mode'I'以特定格式保存您的图像。请确保您的输入是uint16 类型。

【讨论】:

  • imsave(path, image) 不起作用;我改用scipy.misc.imsave(path, image)。当我将读取图像获得的数据与原始数据进行比较时,我发现不一致...您知道任何可以解释的保存过程吗?
  • 您是否将图像保存为 bmp?它们有何不同?
  • 似乎 scipy 做了一些范围标准化。您可以使用scipy.toimage(image, cmin=0, cmax=255).save("image.png") 来防止这种情况发生
  • 这样最大值被重新调整为255,对吧?如果我想在不重新缩放的情况下保存高于该值的值怎么办?
  • 嗯,这个答案是从 2013 年开始的,对于旧的 scipy 版本仍然有效,所以我不会改变它。如需更换新版本,请参阅此问题:stackoverflow.com/q/57545125/2927205
猜你喜欢
  • 1970-01-01
  • 2015-09-27
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2012-06-27
  • 2011-02-21
  • 1970-01-01
相关资源
最近更新 更多