【发布时间】:2016-04-02 12:58:22
【问题描述】:
所以我试图反转二维码中的黑白颜色。
我的代码适用于已经严格为白色和黑色的图像:RBG 值 0,0,0 和 255,255,255。
但它不适用于另一张略带白色和黑色的图像:21,21,21 和 243,243,243。
在略微偏色的图像上运行我的代码将使整个图像完全变白。
我的代码获取每个通道的值,如果其中任何一个超过 140,它将变为白色。为啥有点偏黑,21、21、21变白了?
def invert(smallPicture):
for pixel in getPixels(smallPicture):
valueRed = getRed(pixel)
valueGreen = getGreen(pixel)
valueBlue = getBlue(pixel)
if (valueRed or valueBlue or valueGreen > 140):
setColor(pixel, white)
else:
setColor(pixel, black)
return smallPicture
我在 JES 4.3 中使用 Jython。
谢谢!
【问题讨论】:
-
您需要再次比较每个变量
140–if (valueRed > 140 or valueBlue > 140 or ...)。相关:How do I test one variable against multiple values?