繁体   English   中英

使用PIL分析像素RGB值

[英]Analyzing pixel RGB values with PIL

我正在一个项目中,我需要查找图片中每个像素的RGB值。 如何使用PIL执行此操作? 我知道Pillow更好,但是由于我只需要做一件事,我认为我可以使用PIL。 如果这不能正常工作,请告诉我。

from PIL import Image
img = Image.open("filename.png")
pixels = img.load()

#get the B value of the pixel at x=23, y=42
print pixels[23, 42][2]

前面的答案是一个很好的解决方案,但只是建议了另一种方式:一行:

from scipy import misc;

imgData = misc.imread('./image.png');

然后,您可以轻松获得所需的每个像素的颜色。

凯文几乎可以找到它,您也可以使用getdata()返回一个元组列表。

我可能完全错了,但是如果您需要特定的像素,则load()可能会更好,如果需要所有像素,则使用getdata()可能会更好。 另外,如果它只是普通图像,那么将其转换为RGB是个好主意,以前我没有这样做就遇到了错误。

image = Image.open('filename').convert('RGB')
width, height = image.size

#Get pixels in a list of tuples
pixels = image_input.getdata()

#If you need a flat list containing all the colours
bytes = [j for i in pixels for j in i]

如果您需要处理像素并在之后重建图像,那么图像尺寸就很有用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM