策略模式在圖像分割中的應用
7)如果子結點ni以標記為OPEN或CL0SE,根據t’(ni)=min[t(ni),t(n)+c(n,ni)]更新它的值。將其t’值減少的CLOSE子結點記為OPEN,并將原指向所有其t’值減少的子結點的指針重指向n。返回步驟2)。
2.3 改進的直方圖凹面分析法
圖像的灰度直方圖是圖像各象素灰度值的一種統計度量。許多的閾值選取方法就是根據直方圖來進行的。對含有目標和背景兩類區域的圖像,其直方圖并不一定總是呈現雙峰形式。例如當目標和背景區域的主要灰度比較接近而部分重疊時,其間的谷可能不存在。又如當圖像中目標和背景面積相差較大時,直方圖的一個峰會淹沒在另一個峰旁邊的緩坡里,直方圖具體就是把直方圖看作平面上的區域,計算其凸包并求取其最大的凸殘差,以對應最大凸殘差的灰度值作為閾值來分割圖像。這里最大的凸殘差是用一種稱為凹性測度的指標來衡量的。與一般方法不同,這里要求凸殘差的計算是沿與灰度垂直的直線進行的。
改進的直方圖凹面分析法就是先將直方圖函數取對數,計算指數凸包,然后借助凹凸性分析確定閾值。
2.4 分裂,合并和聚集法
區域生長方法將圖像以象素為基本單位來進行操作,基于區域灰度差的方法主要有如下步驟:
1)對圖像進行逐行掃描,找出尚沒有歸屬的象素;
2)以該象素為中心檢查它的鄰域象素,即將鄰域中的象素逐個與它比較,如果灰度差小于預先確定的閾值,將它們合并;
3)以新合并的象素為中心,返回到步驟2),檢查新象素的鄰域,直到區域不能進一步擴張;
4)返回到步驟1),繼續掃描直到不能發現沒有歸屬的象素,則結束整個生長過程。本文引用地址:http://www.104case.com/article/188734.htm
3 Strategy模式的應用
圖像分割的主要控制對象為閾值,為使閾值選取算法的選擇具有更大的靈活性,引入Strategy模式,把不同的閾值選取算法分別封裝起來,并使它們可以相互替換,這樣不但可以在不同的環境條件下靈活地采用相應的閾值選取算法,而且在將來有更好的閾值算法出現時能夠方便地對系統進行改進和擴展。實現Strategy模式的類圖如圖l所示。
圖1中的TaskControl類包含一個ControlStrategy接口成員controlStrategy,因此Controller類的對象可以依靠其實現ControlStrategy接口的成員controlStrategy的多態性來實現不同的閾值選取算法。當有更好的閾值選取算法出現時,只需添加一個實現ControlStrategy接口的類就可以方便地更新圖像分割系統。并且TaskControl類擁有設置其成員controlStrategy的功能,使得系統可以在運行時更換不同的算法,提高了系統的靈活性。
4 結論
通過Strategy模式,可以將不同的閾值選取方法封裝起來,使圖像分割系統不再局限于特定場景、一個閾值選取算法,對于不同的場景,可以選取不同的算法,實用的范圍更加的廣泛。
評論