【发布时间】:2018-02-08 16:19:09
【问题描述】:
我想编写一个函数来打印图片的颜色值 RGB。图片全部为red、green、yellow 或白色。
我有以下内容:
def findColor():
pic=takePicture()
red = 0
green = 0
blue = 0
size = getWidth(pic)*getHeight(pic)
for pix in getPixels(pic):
r = getRed(pix)
g = getGreen(pix)
b = getBlue(pix)
red = red + r
green = green + g
blue = blue + b
print(red//size,green//size,blue//size)
或者给我与上面类似的值的代码:
def findColor():
pic=takePicture()
for pix in getPixels(pic):
r = getRed(pix)
g = getGreen(pix)
b = getBlue(pix)
print(r,g,b)
这些代码是获取 RGB 值的正确方法吗?如果图片包含不同的颜色,我认为第二个代码不准确。
【问题讨论】:
-
"这些代码是获取 RGB 值的正确方法吗?"让我用另一个问题来回答这个问题。当你运行它们时,你得到你想要的输出了吗?
-
@Kevin 是的,如果我像链接的图片一样设置限制。不,如果没有限制,例如图片是红色、黑色和紫色的混合体。我想知道第一个代码是否正确。
-
第一个打印图像中所有像素的平均值。第二个打印图像右下角像素的颜色。如果您的图像只包含一种颜色,那么它们将打印相同的内容。
-
@Kevin Hm,那么找到 RGB 值的正确方法将是我的第一个代码?
-
我不清楚“找到 RGB 值”是什么意思,所以我无法真正回答。