哦哇資訊網

Freeman鏈碼(弗雷曼鏈碼)

由 大魚的小屋 發表于 家居2021-12-06

Freeman鏈碼(弗雷曼鏈碼)是指用曲線起始點的座標和邊界點方向程式碼來描述曲線或邊界的方法,常被用來在影象處理、計算機圖形學、模式識別等領域中表示曲線和區域邊界。它是一種邊界的編碼表示法,用邊界方向作為編碼依據,為簡化邊界的描述,一般描述的是邊界點集。

常用的鏈碼按照中心畫素點鄰接方向個數的不同,分為4連通鏈碼和8連通鏈碼。4連通鏈碼的鄰接點有4個,分別在中心點的上、下、左和右。8連通鏈碼比4連通鏈碼增加了4個斜方向,因為任意一個畫素周圍均有8個鄰接點,而8連通鏈碼正好與畫素點的實際情況相符,能夠準確地描述中心畫素點與其鄰接點的資訊。因此,8連通鏈碼的使用相對較多。

(a)四方向鏈碼的方向符;                       (b)八方向鏈碼的方向符。

八鏈碼

1。 鏈碼的定義

按照水平、垂直和兩條對角線方向,可以為相鄰的兩個畫素點定義4個方向符:0、1、2、3,分別表示0°、90°、180°和270°四個方向。同樣,也可以定義8個方向符:0、1、2、3、4、5、6、7。鏈碼就是用線段的起點加上由這幾個方向符所構成的一組數列,通常稱之為Freeman鏈碼。用Freeman鏈碼錶示曲線時需要曲線的起點,對8鏈碼而言,奇數碼和偶數碼的對應線段長度不等,規定偶數碼單位長度為1,奇數碼的單位長度為1。414。

2。 曲線的鏈碼錶示

(1)原鏈碼

從邊界(曲線)起點S開始,按順時針方向觀察每一線段走向,並用相應的指向符表示,結果就形成表示該邊界(曲線)的數碼序列,稱為原鏈碼,表示為

其中,S表示邊界(曲線)的起點座標,N=4或8時分別表示四鏈碼和八鏈碼。當邊界(曲線)閉合時,會回到起點,S可省略。

(2)歸一化鏈碼

原鏈碼具有平移不變性(平移時不改變指向符),但當改變起點S時,會得到不同的鏈碼錶示,即不具備唯一性。為此可引入歸一化鏈碼,其方法是:

對於閉合邊界,任選一起點S得到原鏈碼,將鏈碼看作由各方向數構成的n位自然數,將該碼按一個方向迴圈,使其構成的n位自然數最小,此時就形成起點唯一的鏈碼,稱為歸一化鏈碼,也稱為規格化鏈碼。我們將這樣轉換後所對應的鏈碼起點作為這個邊界的歸—化鏈碼的起點。

(3)鏈碼的旋轉歸一化

用鏈碼錶示給定目標的邊界時,如果目標平移,鏈碼不會發生變化。

但是,如果目標旋轉則鏈碼會發生變化。為了得到具有旋轉不變性的鏈碼,我們可定義所謂的差分碼。鏈碼對應的差分碼定義為:

對差分碼進行(起點)歸一化,就可得到歸一化(唯一)的差分碼,它具有平移和旋轉不變性,也具有唯一性。

3。 邊界的形狀數表示

由於歸一化的差分碼既具有唯一性,也具有目標物平移和旋轉不變性,因此可用來表示邊界,稱為形狀數。形狀數序列的長度(位數)稱為形狀數的階,它可作為閉合邊界的周長。

如上圖所示的目標邊界,其

原鏈碼為:42120606454,

差分碼為 :   6716626617 ,

形狀數:         1662661767,

形狀數的階為10 。

TAG: 鏈碼邊界歸一化方向起點