Скажем, вы сохранили свой массив в data
;это должно работать:
data[(data == 0).all(axis=2)] = [255, 255, 255]
Это связано с правилами вещания numpy
, которые сравнивают каждое значение с 0, в результате чего получается логический массив со значениями True
, где они сравниваются равными и False
в другом месте.
Следующим шагом является использование только тех подмассивов, в которых все отдельные значения сравниваются одинаково, с .all(axis=2)
- последней осью, которая вам нужна.
Тогдас помощью полученного логического массива вы можете индексировать обратно в data
, что даст вам только те вложенные массивы, равные [0, 0, 0]
, и установить для них [255, 255, 255]
.