PyPNG读取48位,改变像素颜色,写回像素

时间:2012-04-11 01:30:13

标签: python png pixel pypng

我想知道是否有人可以使用PyPNG发布一个示例来读取48位图像(16位通道R,G和B),获取并显示特定的像素颜色(比如像素88或其他),更改值,并将其写回png。 我发现文档很稀疏,非常感谢任何帮助。

def readPNG2(f):
    r=png.Reader(f)
    r.read()
    print r.bitdepth

这会产生16的结果。我将图像从Photoshop中保存为每通道16个(48位)。我错过了什么,这实际上是每通道16位?

1 个答案:

答案 0 :(得分:0)

是的,这意味着每个通道16位。每像素16或15位大部分都是过去的事情。该文件解释了如何load 16bpc into a numpy array

PyPNG的API似乎非常低级,距离直接使用C中的libpng只有一步之遥。(有关更多信息,请参阅libpng manual。对于python应用程序,可以选择这样做,例如MyPaint does it via swig extension。)