Имеется матрица 800*600, нужно пройти по ней циклом и применить к каждому элементу этой матрицы преобразование формулой.
Допустим, циклом я прошелся:
for row in img:
for x in row:
x = (x - min_br) * (255 / (max_br - min_br)) # на новый х не заменяется
А вот применить преобразование не получается. То есть для того чтобы каждый элемент x заменялся на тот, что в формуле, нужно проделывать дополнительные операции:
img_contrast = np.empty(0)
for row in img:
for x in row:
x = (x - min_br) * (255 / (max_br - min_br))
img_contrast = np.append(img_contrast, x)
img_contrast = np.reshape(img_contrast, (800, 600))
Все эти reshape требуют дополнительного времени, и вроде всё работает, но гораздо медленнее, чем хотелось бы. Так как можно пройтись циклом по двумерному массиву, применяя формулку к каждому элементу?