我有一张黑色和红色两种颜色的图片,我需要能够计算图片中有多少像素是红色的,有多少是黑色的。
问问题
21212 次
3 回答
11
我将代码从 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))
于 2015-04-15T21:09:37.143 回答
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的功能可以轻松解决问题?!除非您帮助我们,否则我们无法帮助您!
于 2015-02-18T05:57:42.163 回答
2
首先你需要安装枕头库。
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)
于 2015-02-18T05:00:08.200 回答