如何在python中计算某一颜色的像素数



我有一张有两种颜色的照片,黑色和红色,我需要能够计算出照片中有多少像素是红色的,有多少是黑色的。

我将代码从0xd3更正为实际工作:

from PIL import Image
im = Image.open('black.jpg')
black = 0
red = 0
for pixel in im.getdata():
    if pixel == (0, 0, 0): # if your image is RGB (if RGBA, (0, 0, 0, 255) or so
        black += 1
    else:
        red += 1
print('black=' + str(black)+', red='+str(red))

根据http://personal.denison.edu/~bressoud/cs110-f12/Supplements/JESHelp/7_Picture_Functions.html,JES提供了一些简单的功能,可以满足您的所有需求,还有类似的功能

black = makeColor(0, 0, 0)
red = makeColor(255, 0, 0)
numblacks = numreds = 0
for pixel in getPixels(picture):
    color = getColor(pixel)
    if color == black: numblacks += 1
    elif color == red: numreds += 1

应该可以轻松地完成您所需要的一切(在导入任何可能需要的东西以使函数可用之后——我没有JES,以前也从未见过或使用过它;我只有通过网络搜索找到的文档)。

然而,这似乎太简单了,我想肯定还有更多——我无法想象有人会"坚持三天"(!)。但是,如果我怀疑还有更多的问题,必须告诉我们——这个代码到底出了什么问题(加上导入、定义、返回或打印,或者你的确切分配要求的任何东西),似乎是在使用JES的函数来琐碎地解决问题?!除非你帮我们,否则我们帮不了你!

首先需要安装抱枕库。

sudo pip3安装枕头

from PIL import *
im = Image.open("your picture")
for pixel in im.getdata():
    if pixel is (0,0,0):
        black += 1
    else:
        red += 1
print("black = " + black + "red = " + red)

相关内容

  • 没有找到相关文章

最新更新