Метод извлечения перекрывающихся ячеек из двух двумерных массивов - PullRequest
0 голосов
/ 10 ноября 2019

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

Large blue 2D array with smaller partly overlapping green 2D array. The overlap is shown in red with a black *X* in the center of the green array.

IЯ ищу общий метод numpy, который извлекает перекрывающуюся часть (показана красным) синего и зеленого массива из позиции tuple (X на изображении выше), например так:

blue_overlap, green_overlap = np.extract_overlap(blue_array, green_array, position)

X необязательно должен быть центром зеленой зоны, это может быть и угловая ячейка. Если ширина / высота зеленого массива не является странной, имеет смысл вместо этого использовать угловую ячейку.

Пока зеленая область полностью находится в пределах синей области, проблема проста нарезка на основе позиции X. Но когда зеленая область расширяет границу синей области, мне нужно выполнить корректировки, которые, как мне кажется, уже могут быть каким-то образом реализованы в numpy, но я не нашел его.

Существует ли такой метод?

...