python – 如何在PIL图像中得不到红色像素和黑色像素

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

现在我想在两个单独的变量中没有红色像素和黑色像素.所以我应该如何继续pil_img

The image look likes this

最佳答案
如果你不在所有像素上自己编写循环,它会快得多.

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): 735408,(248,11): 8700,(245,9,9): 7200,...)
Counter({(0,0): 5992,9): 1639,(3,0): 33,6,0): 23,...)

您有两个以上像素值的事实是由JPG伪影造成的.您可以编写一些自定义逻辑来查看像素是否更像黑色或红色,并将它们计算为那些.

相关文章

在这篇文章中,我们深入学习了XPath作为一种常见的网络爬虫技巧。XPath是一种用于定位和选择XML文档中特...
祝福大家龙年快乐!愿你们的生活像龙一样充满力量和勇气,愿你们在新的一年里,追逐梦想,勇往直前,不...
今天在爬虫实战中,除了正常爬取网页数据外,我们还添加了一个下载功能,主要任务是爬取小说并将其下载...
完美收官,本文是爬虫实战的最后一章了,所以尽管本文着重呈现爬虫实战,但其中有一大部分内容专注于数...
JSON是一种流行的数据传输格式,Python中有多种处理JSON的方式。官方的json库是最常用的,它提供了简单...
独立样本T检验适用于比较两组独立样本的均值差异,而配对T检验则适用于比较同一组样本在不同条件下的均...