我想在此图像中填充中心点,以便最后是白色,其余部分是黑色。我正在尝试使用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')

最佳答案

如果您提供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)


或似乎根本无法传递任何输出,这样可以节省您需要在上一行中复制数组的情况。还要注意,在您的问题中,变量名不匹配,即mask vs mask2,mask_filled vs mask_2_filled。

关于python - 使用ndimage.binary_fill_holes填充形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21291197/

10-12 15:14