我正在使用Python编写一个程序,用于在L * L矩阵中查找值为1、0或-1的“岛屿”。
我需要它能够找到这些连通组件的“区域”,对每个区域进行标记,并能够返回给定元素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的标记岛屿(只是一个例子),但我不知道如何获取给定点所属的“区域”的大小。 你能帮我吗?我几乎没有编程经验,所以如果问题很傻,请原谅我。 谢谢。