В настоящее время я пытаюсь запустить следующий код
from PIL import Image
img = Image.open('C:/Users/j.png')
WIDTH, HEIGHT = img.size
imgData = list(img.getdata()) =
imgData = [imgData[offset:offset + WIDTH] for offset in range(0, WIDTH * HEIGHT, WIDTH)]
def function_sum2_x():
sum2_x = 0
for i in range(0, HEIGHT - 1):
for j in range(0, WIDTH - 1):
sum2_x += imgData[i][j] * imgData[i][j]
return sum2_x
print(function_sum2_x())
Хотя я получаю следующую ошибку: строка 25, в function_sum2_x sum2_x + = imgData [i] [j] * imgData [i] [ j] TypeError: невозможно умножить последовательность на не-int типа 'tuple'
Цель этого кода - математическая формула для сравнения двух изображений. Для контекста, мое изображение черно-белое двоичное. Первоначально я думал, что проблема будет связана с умножением значений 0 на eachother в «imgData», но после преобразования всех 0 в 1 я получаю ту же проблему.
После некоторых исследований в Интернете я обнаружил некоторые проблемы с умножением списка, поэтому теперь я думаю, что это может быть проблемой. Я нашел некоторые источники, говорящие об использовании строки
newarr= map(lambda x: i*x, imgData)
Однако я не уверен, как это реализовать, и действительно ли это полезно для устранения этой ошибки