2014-01-22 184 views
0

我想填充此圖像中的中心點,以便在最後是白色,其餘是黑色。我正在嘗試使用ndimage.binary_fill_holes(代碼如下)。當我運行我的腳本時,出現錯誤'NoneType' object has no attribute 'astype'。我應該怎麼做才能解決這個問題?使用ndimage.binary_fill_holes填充形狀

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') 

enter image description here

回答

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) 

或者你似乎可以不通過任何輸出,這將節省你需要複製數組在上一行。另外請注意,在你的問題你的變量名稱不匹配,即掩碼與掩碼2,mask_filled與mask_2_filled。

+0

感謝您的建議,事情還沒有完全工作,但我希望能在正確的軌道上; - )。我更正了原始文章中的幾個拼寫錯誤的變量名稱。 –

0

在最後,這是更容易比預期:以下this,唯一需要的行

mask_2_filled = ndimage.binary_fill_holes(mask_2)