我有一个2D网格值。例如,它们可能如下所示:
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我想要设置为另一个值。
我可以通过获取第一个和最后一个实例来强制它,然后手动设置它,但是有一种方法可以更有效地执行此操作吗?
答案 0 :(得分:1)
如果您执行更多图像处理,通常skimage
可能会有更多算法。 scipy.ndimage.binary_fill_holes
很好地涵盖了这个问题。