从 0 和 1 的 2d 数组开始,我需要确定哪些 1 形成一个联合围栏,完全包围一个或多个相邻的 0。如果它们在侧面或对角线上接触,则这些 0 被认为是相邻的。栅栏也必须存在于相邻的对角线上。
这是二维数组,我想要的是表示围栏的 1,然后其他所有内容都应该为零。这是一个简单的案例,实际上数组是一个 png 图像,我想要其中可能存在的所有栅栏。
ndimage 是需要的模块吗?请有任何建议。
array=
[[1,1,1,1,1,1],
[1,1,0,0,1,1],
[1,1,0,1,1,1],
[1,1,1,1,1,1],
[0,0,1,1,0,0]]
answer=
[[0,1,1,1,1,0],
[0,1,0,0,1,0],
[0,1,0,1,1,0],
[0,1,1,1,0,0],
[0,0,0,0,0,0]]