【问题标题】:PyPNG read 48-bit, change pixel color, write pixel back [closed]PyPNG 读取 48 位,更改像素颜色,写回像素 [关闭]
【发布时间】:2012-04-23 07:59:06
【问题描述】:

我想知道是否有人可以发布一个使用 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 位吗?

【问题讨论】:

  • 我被困在语法上:def readPNG2(FileName): r=png.Reader(filenameherehow?) r.read()

标签: python png pixel pypng


【解决方案1】:

是的,这意味着每个通道 16 位。每像素 16 或 15 位已成为过去。该文档解释了如何load 16bpc into a numpy array

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

【讨论】:

    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 2013-05-07
    • 1970-01-01
    • 2014-11-07
    • 2011-05-22
    • 1970-01-01
    相关资源
    最近更新 更多