在3D图像上填充孔

时间:2018-04-07 10:41:43

标签: python opencv scikit-image itk

我有一张大小为301,512,512的图像,这是一张二进制蒙版图像。

一个值集中在贴片附近,但路径内部有一些洞。我想用值1来填充它们。

我试过了

img_fill_holes = scipy.ndimage.binary_fill_holes(array_to_be_filled[:,:,:]).astype(int)

import SimpleITK as sitk 
filledImage = sitk.BinaryFillhole(array_to_be_filled)

但这两种方法都没有提供所需的输出, 任何可以帮助我的建议都会很棒。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

BinaryFillHoles可能不起作用,因为您的"漏洞"拓扑不是洞。他们可能很瘦"管"一直延伸到"外面"物体的,因此在拓扑上不是孔。但是,在查看单个切片时,它们通常会显示为漏洞。

您可以尝试的是ITKSimpleITK中的BinaryMorphologicalClosing。只需确保SetRadius()的值大于您最大的"洞"。