Какой эффективный способ подсчета групп единиц на 2D сетке в Python?[Рисунки ниже] - PullRequest
0 голосов
/ 24 октября 2018

У меня есть несколько сотен двумерных массивов.Они содержат нули и единицы.Несколько примеров с графиками, желтый обозначает единицы, фиолетовый обозначает нули:

grid1=np.array([[1, 1, 0, 0, 1, 1, 0, 0],
               [1, 1, 0, 1, 1, 1, 0, 0],
               [1, 1, 0, 1, 1, 1, 0, 0],
               [1, 0, 0, 0, 1, 0, 0, 0],
               [0, 0, 0, 0, 0, 0, 0, 0]])

plt.imshow(grid1)

enter image description here

grid2=np.array([[1, 1, 0, 0, 0, 0, 0, 0],
               [1, 1, 1, 1, 1, 0, 0, 0],
               [1, 1, 1, 1, 1, 0, 0, 0],
               [1, 0, 0, 1, 1, 0, 0, 0],
               [0, 0, 0, 0, 0, 0, 0, 0]])

plt.imshow(grid2)

enter image description here

grid3=np.array([[1, 1, 0, 0, 1, 0, 0, 1],
               [0, 1, 0, 1, 1, 0, 1, 1],
               [0, 1, 0, 1, 1, 0, 0, 0],
               [0, 0, 0, 0, 1, 1, 1, 0],
               [1, 1, 1, 0, 0, 0, 0, 0]])

plt.imshow(grid3)

enter image description here

Я ищу эффективный способ подсчета количества желтых пятен на изображениях.2, 1 и 4 капли на изображениях сверху, сверху вниз.

Есть ли простой способ сделать это, или я должен проверить, чтобы каждый желтый бит находился в той же самой капле, что и все остальные желтые,и написать сценарий для этого?(Это выглядит очень больно.)

1 Ответ

0 голосов
/ 24 октября 2018

scipy.ndimage.measurements.label делает то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...