1

我有一个二维值网格。例如,它们可能看起来像这样:

0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 0 
0 1 1 1 1 1 1 1 1 1 0 
0 1 0 0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 0 1 0
0 1 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 0 
0 0 0 0 0 0 0 0 0 0 0

我想做的是将 1 中包含的所有 0 设置为不同的值。

本质上,我想要做的是在行或列中获取 1 的第一个实例和 1 的最后一个实例,然后在此边界内的任何 0 我想设置为另一个值。

我可以通过获取第一个和最后一个实例来强制它,然后手动设置它,但是有没有一种更有效的方式来做到这一点?

4

1 回答 1

1

skimage如果你做更多的图像工作,通常可能会有更多的算法。很好地解决了这个问题scipy.ndimage.binary_fill_holes

于 2012-10-01T10:17:18.387 回答