使用Python中的PIL读取PNG图片

5

我正在Python中读取PNG文件,我想要获取图像每个像素的RGB值:

  img = Image.open(path)
  pixels = img.load()

对于JPEG文件,像素是一个元组,但对于PNG文件,我得到的是一个单独的整数。我应该如何使用Python读取PNG图像以获取像素值?


奇怪,我在我的电脑上打开png时得到了一个元组。你试过在多个png上尝试吗? - Kevin
请检查您的PNG文件。如果它实际上是灰度或索引颜色图像 - 而不是24位彩色 - 那么您的问题就是https://dev59.com/1oXca4cB1Zd3GeqPIXFN的重复。 - Jongware
1个回答

11

听起来像是以灰度模式打开图像。尝试在访问像素值之前将其转换为RGB。

img = Image.open(path).convert("RGB")
pixels = img.load()

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