У меня есть массив NumPy, состоящий только из 0 и 1 элементов следующим образом:Извлечение индексы массива NumPy
import numpy as np
data = np.array([[1, 1 , 0 , 0 , 0 , 0 , 1 , 0],
[1, 1 , 1 , 1 , 1 , 1 , 1 , 0],
[1, 1 , 1 , 1 , 1 , 1 , 1 , 0],
[0, 0 , 1 , 1 , **1** , 1 , 1 , 0],
[0, 0 , 1 , 1 , 1 , 1 , 1 , 1],
[1, 1 , 1 , 1 , 1 , 1 , 1 , 0],
[1, 1 , 0 , 0 , 0 , 0 , 0 , 0]])
Я должен выяснить, индексы элемента 1, который окружен 1 в 2 на 2 пикселя в каждом направлении.
Местоположение ожидаемого ответа выделено жирным шрифтом.
Я ищу более легкий и быстрый способ сделать это.
Спасибо за вашу попытку. Я поддержал. Тем не менее, я думал об этом, используя scipy.ndimage. Можете ли вы предложить мне альтернативный метод? –
как maximum_filter, minimum_filter? –
@EricBal Я не думаю, что здесь будет работать max или min filter, но этот фильтр будет искать максимальное значение в этом окне. Мы хотим, чтобы все элементы в этом окне были «отдельными». Итак, нам нужно суммировать все элементы внутри этого окна, поэтому здесь понадобится свертка. – Divakar