Добравшись до консоли, я вижу проблему.
Чтобы смоделировать то, что вы, кажется, делаете, я использовал случайный массив с формой (400, 210, 3)
a = np.random.randint(256, size = (400,210,3))
Ваш выбор
a[0:0, 50:50]
Out[10]: array([], shape=(0, 0, 3), dtype=int64)
0: 0 и 50:50 оба возвращают выбор нулевого элемента, поэтому существует трехмерный массив с двумя осями нулевой длины.Установка 255 не затронула никаких элементов.
a[130:270, 210:350]
Out[13]: array([], shape=(140, 0, 3), dtype=int64)
В этом случае 210: 350 выходит за пределы диапазона оси 210. Numpy снова возвращает ось нулевой длины.Установка 255 не имеет никакого эффекта.
a[0:350, 210:390][:,:,:]
Out[14]: array([], shape=(350, 0, 3), dtype=int64)
выбор оси 1 снова выходит за пределы диапазона, поэтому возвращается массив с осью нулевой длины.
Вы указываете прямоугольники в виде (вверху слева, внизу справа) координат.Требуется row_range, column_range.
Полагаю, вы хотите что-то вроде:
a[0:50, 0:50, : ] = 255
a[270:350, 130:210, : ] = 255
a[340:390, 0:210, : ] = 255
Выбор оси 0 - строки (ось y), а оси 1 - столбцы, (ось х).Ось 2 является компонентами цветов RGB.
HTH