Один из способов обойти это - применить фильтр размера 3X3 с шагом 1X1 к массиву 4X4.Применение фильтра к массиву 4X4 может быть любой значимой операцией, например, большинством голосов (или взять среднее значение и округлить до ближайшего целого числа).
Конкретно,
array([[1, 1, 0, 0],
[0, 1, 0, 0],
[1, 1, 1, 2],
[2, 2, 2, 2]])
переводится в
majority_vote(array([[1, 1, 0], majority_vote(array([[1, 0, 0],
[0, 1, 0], [1, 0, 0],
[1, 1, 1]]) [1, 1, 2]])
majority_vote(array([[0, 1, 0], majority_vote(array([[1, 0, 0],
[1, 1, 1], [1, 1, 2],
[2, 2, 2]]) [2, 2, 2]])
, что приводит к:
array([[1, 0],
1, 2]])
(я решил связи большинством голосов путемпроисходит с нижней из двух чисел связывания)