因此,我尝试在二维码中反转黑白颜色。
我的代码适用于已经完全是白色和黑色的图像:RBG值0,0,0和255255。
但对于另一幅略带黑白的图像:21、21、21和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
我在jes4.3中使用Jython。你知道吗
谢谢!你知道吗
在您的代码中,Python正在检查
valueRed
的值是否为True
,或者valueGreen
的值是否为True
,或者valueBlue
是否大于140。Python不会将if
条件中的每个变量与140进行比较:您需要重写每个由or
语句分隔的比较。Python将运行每个比较并计算为True
或False
,具体取决于颜色值是否满足比较。你知道吗您需要将条件语句替换为以下语句:
相关问题 更多 >
编程相关推荐