Пожалуйста, потерпите меня, я только начал 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, это даст значения в градациях серого.
Я понимаю, почему я получаю эту ошибку, но не знаю, как форматировать мой код, чтобы сохранить значение имени. Я просмотрел вопросы о локальных и глобальных переменных/именах; но я не могу сообразить, как это сделать с помощью того элементарного синтаксиса, который я выучил.
Проблема в:
Как мне создать имена и получить их значения для оригинала (красный, зеленый, синий), которые я могу использовать позже в другой функции? Все, что я пробовал, вернуло измененные (оттенки серого) значения. спасибо