我怎样才能没有红色像素没有黑像素的图像PIL

问题描述:

from PIL import ImageGrab 
pil_img=ImageGrab.grab([0,0,1000,1000]) 

现在我想不红像素和没有黑色像素在两个独立的variables.So我应该如何进行对pil_img The image look likes this我怎样才能没有红色像素没有黑像素的图像PIL

它,如果你不写一个循环自己所有像素快得多。

import os.path 
from collections import Counter 

from PIL import Image 

path_to_file = os.path.join('..', '..', 'img', '9BLW9.jpg') 

# Count the number of occurrences per pixel value for the entire image 
img = Image.open(path_to_file) 
pixels = img.getdata() 
print(Counter(pixels)) 

# Count the number of occurrences per pixel value for a subimage in the image 
img = img.crop((100, 100, 200, 200)) 
pixels = img.getdata() 
print(Counter(pixels)) 

有了结果:

Counter({(248, 8, 9): 1002251, (0, 0, 0): 735408, (248, 8, 11): 8700, (245, 9, 9): 7200, ...) 
Counter({(0, 0, 0): 5992, (248, 8, 9): 1639, (3, 0, 0): 33, (0, 6, 0): 23, ...) 

,你有两个以上的像素值的事实是,由于JPG文物。您可以编写一些自定义逻辑,以查看像素是否更像黑色或红色,并将它们计算为这些像素。

+0

感谢这个还曾:) –

+0

你能告诉我你是怎么能这将是感激看到我question.Initially它有不超过10至15次 –

+0

我过滤与标签Python的图片库问题,并看到你的问题在列表中向下滚动不会太多了。 – physicalattraction

使用pil_img.getpixel((x, y)),或pil_img[x, y]

+0

Thanks.It工作。 –

+0

如果您给予好评的question.I失去了我的previlege要问的问题。:-( –

+0

并请编辑您的函数接受一个元组:) –