【发布时间】:2020-03-28 00:16:57
【问题描述】:
我有一个幼稚的问题,但经过漫长的一天后,我仍然无法得到答案。
我目前正在使用 PIL 加载我的 png 图像,它运行良好。但是,我的一些png
图像为每像素 16 位。我正在拼命地查询这些信息,但我无法使用 PIL 获取它。事实上,如果我只是使用file 系统二进制文件,它就可以工作。
$ file flower_16b.png
flower_16b.png: PNG image data, 660 x 600, 16-bit/color RGB, non-interlaced
但是在我的 python 代码中:
img = Image.open(filename, "r")
print(img.mode)
我收到RGB。按照文档PIL RGB 表示(3x8 位像素,真彩色),看起来图像已被投射。那么它是否存在一种使用 PIL 或其他 python 模块来获取图像深度的方法?
【问题讨论】:
-
AFAIK 唯一的 16 位 PNG pixel format 是灰度的,因此声称您获得 RGB 是没有意义的。你也没有说为什么你需要深度信息……
-
@martineau 我认为 OP 的意思是 "Truecolor",即 3 个通道,每个通道 16 位,即链接表中的
48。 -
我正在运行推理问题。我的研究团队证明它仅适用于 8 位像素 png,但正如您所说,这是没有意义的,因为标准颜色是 8 位像素。
标签: python python-imaging-library