填写使用形状ndimage.binary_fill_holes(Fill shape using n

2019-10-19 06:02发布

我想填补这个图像中的中心地点,所以在那个是白色的,其余的是黑色的结束。 我想用它做ndimage.binary_fill_holes (下面的代码)。 当我运行我的脚本,我得到的错误'NoneType' object has no attribute 'astype' 。 我应该怎么做才能解决这个问题?

 mask_filled = np.array(mask,numpy.uint16)
 ndimage.binary_fill_holes(mask_2, structure=np.ones((dim_x,dim_y)), origin=(75,75), output=mask_2_filled).astype(int)
 np.savetxt(filename_filled, mask_filled, fmt='%i')

Answer 1:

binary_fill_holes不返回任何内容(以及它返回None ),如果您提供的output数组。 尝试这个:

ndimage.binary_fill_holes(mask_2, structure=np.ones((dim_x,dim_y)), origin=(75,75),
                          output=mask_2_filled)
mask2filled = mask2filled.astype(int)

或者,它好像你可能只是不传递任何输出中可言,这将节省您需要到阵列复制前行。 还要注意,在你的问题你的变量名不匹配,即面膜VS掩码2,mask_filled VS mask_2_filled。



Answer 2:

最后,它更容易比预期:下面这个 ,唯一需要的行

mask_2_filled = ndimage.binary_fill_holes(mask_2)


文章来源: Fill shape using ndimage.binary_fill_holes
标签: python numpy io