我有两种颜色的图片,黑色和红色,我需要能够计算图片中有多少像素为红色,有多少是黑色。
答案 0 :(得分:7)
我将代码从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))
答案 1 :(得分:3)
根据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,也没有我以前见过或使用它;我所拥有的就是我找到的那个文档网络搜索)。
然而,这似乎很容易,我想必须有更多 - 我无法想象任何人“坚持这三天”(!)。但是,如果我怀疑还有更多,你必须是告诉我们的那个 - 这个代码究竟出了什么问题(加上任何进口,def,返回或打印等等,你的确切任务需要)似乎使用JES的功能来轻松解决问题?!除非您帮助我们,否则我们无法帮助您!
答案 2 :(得分:1)
首先你需要安装枕头库。
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)