[英]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.