У меня есть 2D numpy array
, показанный синим цветом на изображении ниже, и меньший 2D numpy array
, показанный зеленым цветом:

IЯ ищу общий метод numpy
, который извлекает перекрывающуюся часть (показана красным) синего и зеленого массива из позиции tuple
(X
на изображении выше), например так:
blue_overlap, green_overlap = np.extract_overlap(blue_array, green_array, position)
X
необязательно должен быть центром зеленой зоны, это может быть и угловая ячейка. Если ширина / высота зеленого массива не является странной, имеет смысл вместо этого использовать угловую ячейку.
Пока зеленая область полностью находится в пределах синей области, проблема проста нарезка на основе позиции X
. Но когда зеленая область расширяет границу синей области, мне нужно выполнить корректировки, которые, как мне кажется, уже могут быть каким-то образом реализованы в numpy
, но я не нашел его.
Существует ли такой метод?