我正在做一个项目,在这个项目中,我需要找到图片中每个像素的RGB值。我怎么能用PIL做这件事?我知道枕头更好,但由于我只需要做一件事,我认为我可以使用PIL。如果不能用的话请告诉我。
发布于 2015-11-04 21:00:04
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]发布于 2015-11-04 21:06:28
前面的答案是一个很好的解决方案,但只是提出了另一种方法,即一行:
from scipy import misc;
imgData = misc.imread('./image.png');然后,你可以很容易地得到每个像素的颜色,你需要。
发布于 2015-11-04 21:15:10
凯文几乎把它放在了第一位,你也可以使用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]如果您需要对像素进行填充,然后重新生成图像,那么图像大小就很有用。
https://stackoverflow.com/questions/33531851
复制相似问题