4

L * L行列で1、0、または-1の「島」を見つけるために、Pythonでプログラムを書いています。連結成分のこれらの「領域」を見つけ、それらのそれぞれにラベルを付け、行列 m[x][y] の特定の要素について、それが属する島のサイズを返すことができるようにする必要があります。

import numpy as np
from scipy import ndimage
from scipy import misc
import matplotlib.pyplot as plt

m = np.random.randint(-1,2,(L,L))

mask1 = (m == -1)
mask2 = (m == 0)
mask3 = (m == 1)

label_m1, nb_labels1 = ndimage.label(mask1)
label_m2, nb_labels2 = ndimage.label(mask2)
label_m3, nb_labels3 = ndimage.label(mask3)

これにより、ランダム行列 m のラベル付きの島が得られるはずですが (例にすぎません)、特定のポイントが属する「領域」のサイズを取得する方法がわかりません。私たちを手伝ってくれますか?私はプログラミングの経験がほとんどないので、質問がばかげている場合はご容赦ください。

ありがとう

4

1 に答える 1