【发布时间】:2015-06-08 19:37:15
【问题描述】:
我有一个二进制多维图像。我想获得一些洪水填充的实现,这将给我下一个:
连接区域列表(相邻像素值为
True)。对于每个区域,我想获取其边界框和互连区域中所有像素的像素坐标列表。
有类似的实现吗?
【问题讨论】:
-
什么是二值多维图像?
-
具有布尔值的多维
numpy.ndarray。 -
对于 1,您可以从 "where((im[:,1:] & im[:,:-1]) | (im[1:,:] & im[:-1 ,:]))”之类的东西,明显修改为维数
-
对于 2D 图像情况,您只需使用起始位置执行深度优先搜索,并找到构成该区域定义的连接组件的一部分的所有像素......但是,如果您'正在进入多维,你可以有一个跨越所有切片的区域,所以你可以在这里快速耗尽内存......我们是否在谈论像 3D 体积,其中每个
True像素意味着这属于 3D 对象吗? -
@Felix - 这是一个 MATLAB 实现 - mathworks.com/matlabcentral/fileexchange/12184-floodfill3d/… - 尽管它不是 Python
numpy,但两者之间的很多语法都非常相似。
标签: python image-processing flood-fill