Я пытаюсь создать генератор фотографий ASCII в python, следуя онлайн-руководству, поэтому я преобразовал дату изображения в кортежи RGB и поместил их в массив 2d. Я преобразовал этот двумерный массив в массив яркости, взяв среднее значение всех значений RGB. Но этот массив яркости показывает другой результат, когда я печатаю его снова, по сравнению с его печатью при присвоении значений.
Первоначально он показывает правильный результат, но когда я распечатываю его снова, он показывает те же значения во всех строках матрица.
from PIL import Image
import math
im = Image.open("smallimage.jpg")
print(im.size)
rows,cols = (im.size[0],im.size[1])
print(rows,cols)
arr = [[0]*cols]*rows
arr = list(im.getdata())
arr = [arr[i*cols: (i+1)*cols] for i in range(rows)]
brightness_matrix = [[0]*cols]*rows
for row in range(rows):
for col in range(cols):
brightness_matrix[row][col] = math.floor((arr[row][col][0] + arr[row][col][1] + arr[row][col][2])/3)
print(brightness_matrix[row][col],end = " ")
print()
for row in range(rows):
for col in range(cols):
print(brightness_matrix[row][col],end=" ")
print()
Это последняя строка исходного вывода, которая продолжает повторяться в новом выводе.
Вывод, когда я запускаю эту программу