请多多包涵,我几周前才开始使用python。
我正在使用 JES。
我制作了一个将图片转换为灰度的功能。我为每种颜色 r 和 r1、g 和 g1、b 和 b1 创建了两个名称。这背后的想法是将原始值保留在内存中,因此可以将图片恢复为原始颜色。
def grayScale(pic):
for p in getPixels(pic):
r = int(getRed(p))
g = int(getGreen(p))
b = int(getBlue(p))//I have tried this with and without the int()
r1=r
g1=g
b1=b
new = (r + g + b)/3
color= makeColor(new,new,new)
setColor(p, color)
def restoreColor(pic):
for p in getPixels(pic):
setColor (p, makeColor(r1,g1,b1))
它不工作。The error: "local or global name could not be found."
我明白为什么我会收到这个错误。
但是,如果我尝试在 restoreColor 中定义它们,它将给出灰度值。
我明白为什么会收到此错误,但不知道如何格式化我的代码以保存名称值。我查看了有关局部和全局变量/名称的问题;但在我所学的基本语法中,我无法解决如何做到这一点。
问题是:
如何为原始(红色、绿色、蓝色)创建名称并获取它们的值,以便稍后在另一个函数中使用?我尝试过的一切都返回了更改后的(灰度)值。