我想在此图像中填充中心点,以便最后是白色而其余部分是黑色。我正在尝试使用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')
答案 0 :(得分: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)
或者看起来你根本不能传递任何输出,这将节省你需要复制前一行中的数组。另请注意,在您的问题中,您的变量名称不匹配,即mask vs mask2,mask_filled vs mask_2_filled。
答案 1 :(得分:0)
最后,它比预期更容易:在this之后,唯一需要的行是
mask_2_filled = ndimage.binary_fill_holes(mask_2)