我有一个2D二进制numpy数组,形状为250,250。绝大多数单元格都是0,但是1通常彼此相邻,因为它们在矩阵中形成形状。基本上数组看起来像这样:
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0
0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
我想识别对象,为此我想要更改1的值,以便每个对象都具有唯一值,如果它们相邻,则非零值仅相同。所以矩阵应该是这样的:
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0
0 0 3 3 3 0 0 0 2 2 0 0 0 0 0 0 0 0 0
0 0 3 3 3 0 0 0 2 2 0 0 0 0 0 0 0 0 0
0 0 3 3 3 0 0 0 0 0 0 0 0 0 0 0 4 4 4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4
是否有已知算法执行此操作?我搜索过scikit-image和numpy但我找不到任何东西。