将numpy数组转换为PNG文件并转换回来

7

我有一个二维的 numpy.array 对象,dtype=uint16 表示它是一张灰度图像。如何将其保存为 PNG 文件,并重新读取得到相同的数组?


1
这是否就是在pyPng代码示例中所描述的内容? - Jongware
我认为PNG>np是已经给出的,但是反过来只显示一个3D数组,我无法弄清如何将其与2D数组配合使用。另外,由于我从numpy.array开始,所以我需要先尝试一下那个例子。简而言之,从这些示例中并不容易理解... - Jonathan Livni
1个回答

4

scikit-image使这变得非常容易:

from skimage.io import imread, imsave
import numpy as np

x = np.ones((100, 100), dtype=np.uint16)
imsave('test.png', x)
y = imread('test.png')
(x == y).all()  # True

4
这种方法有一个缺点,就是需要访问磁盘并返回数据。能否在内存中完成呢? - Payaam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接