Я думаю, вам нужно np.maximum () :
import numpy as np
x1 = np.array([[0, 1], [2, 255]], dtype=np.uint8)
x2 = np.array([[2, 2], [255, 255]], dtype=np.uint8)
print(np.maximum(x1, x2))
#[[ 2 2]
# [255 255]]
РЕДАКТИРОВАТЬ
В другом ответе у вас есть актуальное решение,который я редактировал для использования нескольких массивов:
x1 = np.array([[0, 1], [2, 255]], dtype=np.uint8)
x2 = np.array([[2, 2], [255, 255]], dtype=np.uint8)
x3 = np.array([[4, 255], [2, 255]], dtype=np.uint8)
reduce(np.maximum, np.stack((x1, x2, x3))+1)-1
#[[ 4 2]
# [ 2 255]]