17.5 分水嶺分割算法(2)
可以使用很多算法來(lái)對前景對象進(jìn)行標記,標記的每個(gè)對象內部的像素值是連接在一起的。在這個(gè)例子中,使用形態(tài)學(xué)重建技術(shù)對前景對象進(jìn)行標記,首先使用imopen函數對圖像進(jìn)行開(kāi)操作,如圖17-21中左邊圖像所示,使用半徑為20的圓形結構元素,開(kāi)操作是膨脹和腐蝕操作的結合。另外一種方法是先對圖像進(jìn)行腐蝕,然后對圖像進(jìn)行形態(tài)學(xué)重建,處理后的圖像如圖17-21右邊圖像所示。
![]() |
| (點(diǎn)擊查看大圖)圖17-21 開(kāi)操作和重建操作結果對比 |
![]() |
| (點(diǎn)擊查看大圖)圖17-22 關(guān)操作和重建操作結果對比 |
對比兩幅圖像Iobrcbr和Ioc,以重建為基礎的開(kāi)關(guān)操作(結果為Iobrcbr)比一般的開(kāi)關(guān)操作(結果為Ioc)在去除小的污點(diǎn)時(shí)會(huì )更有效,并且不會(huì )影響這個(gè)圖像的輪廓。
計算Iobrcbr的局部極大值會(huì )得到比較好的前景標記,如圖17-23所示。
![]() |
| (點(diǎn)擊查看大圖)圖17-23 求取局部極大值的圖像 |
為了更好地理解這個(gè)結果,我們可以在原來(lái)圖像的基礎上,顯示局部極大值,對前景圖像進(jìn)行標記,如圖17-24所示。
注意到圖像中還有少部分目標物體,即蘋(píng)果,未被正確地標記出,如果這些目標物體不能被正確地進(jìn)行標記,則不能正確地進(jìn)行分割。并且,少部分前景目標物體已經(jīng)擴展到邊緣,因此應該收縮一下邊緣,可以先對圖像進(jìn)行關(guān)操作,然后再進(jìn)行腐蝕來(lái)達到這樣的效果。
這個(gè)過(guò)程會(huì )產(chǎn)生一些孤立的像素點(diǎn),可以使用bwareaopen函數來(lái)達到這樣的效果,這個(gè)過(guò)程將像素點(diǎn)數量較少的孤立像素點(diǎn)去除,如圖17-25左邊圖像所示。
![]() |
| (點(diǎn)擊查看大圖)圖17-24 在原圖上顯示局部極大值 |
聯(lián)系客服