2014-11-02 84 views
0

我已經實現了形態骨架化以從圖片中獲取數字的骨架。 有8個結構元素要與像素的鄰域進行比較。如果某些條件等於true,則會刪除前景像素。重複此操作直到不再有像素被刪除,輸出就是輸入的骨架。看起來奇怪的形態骨架

我的實現輸出似乎沒問題,但看起來不像Matlab函數bwmorph的輸出那麼好。 我的輸出中有一些小行,我想刪除它。 看看我已經鏈接到這篇文章的兩張圖片。 Matlab版本比我的版本更「清晰」。

我聽說過「修剪」,以擺脫這些小行。但是這些算法看起來非常複雜。有沒有簡單的解決方案來擺脫這些線?還是有一些Matlab內置函數來刪除這些行?

圖片:

我自己的實現:http://oi58.tinypic.com/104ktwz.jpg

Matlab的:http://oi61.tinypic.com/2mjmf9.jpg

+0

爲什麼不使用'bwmorph'? – Shai 2014-11-02 12:59:26

+0

我們必須實現我們自己的版本(以獲得更深的理解)的圖像處理課程 – Harry 2014-11-02 15:40:53

回答

0

是,MATLAB當然採用了剪枝計算骨架之後。但修剪算法(至少其中大部分)完全按照骨架算法工作:一個簡單的掩碼來應用。

+2

我通過簡單的「修剪」算法解決了這個問題。正如你所提到的,它和骨架算法非常相似。區別在於你必須指定應該執行多少次迭代。如果你不限制這些迭代,一切都消失了,你只是得到一個黑色的圖像;-)但在我的情況下,3次迭代很好地完成了這項工作。修剪:http://homepages.inf.ed.ac.uk/rbf/HIPR2/thin.htm – Harry 2015-09-10 09:39:50

+0

我想MatLab對分支長度進行了一些統計研究,並相應地選擇了迭代次數。 – FiReTiTi 2015-09-15 10:19:04