20181008【表示和描述】筆記
一、表示
1.鏈碼
鏈碼是對邊界點的一種編碼表示方法,其基本思想是利用一系列具有特定長度和方向的相連的直線段來表示目標的邊界。
舉例:若設起始點O的座標為(5,5),則分別用如下4方向和8方向鏈碼按逆時針順序表示區域邊界:
4方向鏈碼: (5, 5)1 1 1 2 3 2 3 2 3 0 0 0;
8方向鏈碼: (5, 5)2 2 2 4 5 5 6 0 0 0。
2.鏈碼錶示的特點
A、只有邊界的起點需用絕對座標表示,其餘點都可只用接續方向來代表偏移量;
B、與用座標值相比,鏈碼錶達可大大減少邊界表示所需的資料量。
3.存在的問題
直接對分割所得的目標邊界編碼,有可能出現如下問題:
A、產生的碼串通常很長;
B、噪聲等干擾會導致小的邊界變化而使鏈碼發生與目標整體形狀無關的較大變動。
4.改進措施
對原邊界以較大的網格重新取樣,並把與原邊界點最接近的大網格點定為新的邊界點。
5.鏈碼的起點歸一化
A、問題的引出
鏈碼起點的選擇常是很關鍵的。對同一個邊界,如用不同的邊界點作為鏈碼起點,得到的鏈碼是不同的。
B、歸一化
給定1個從任意點開始而產生的鏈碼,可把它看作1個由各方向數構成的自然數。將這些方向數依1個方向迴圈以使它們所構成的自然數的值最小。我們將這樣轉換後所對應的鏈碼起點作為這個邊界的歸一化鏈碼的起點。
舉例:
6.鏈碼的旋轉歸一化
A、問題
用鏈碼錶示給定目標的邊界時,如果目標旋轉,則鏈碼會發生變化。
B、解決方法
利用鏈碼的一階差分來重新構造1個序列(1個表示原鏈碼各段之間方向變化的新序列)。這相當於把鏈碼進行旋轉歸一化。
(雷剛薩斯P516:一階差分是通過計算鏈碼中的分隔兩個相鄰畫素的方向變化的數。是按4方向或者8方向鏈碼的逆時針方向得到的)自己畫個圖就知道啦!注意是逆時針!原理就是計算相鄰兩個元素方向變化(按逆時針方向)的次數。例如5→5變化了0步,記為0,4→6變化了兩步,記為2。
原碼 旋轉90度碼
鏈碼 10103322 21210033
4方向差分: 33133030 33133030
7.多邊形近似
(1)問題的引出
實際應用中的數字邊界常由於噪聲、取樣等的影響而有許多較小的不規則處,這些不規則處常對鏈碼和邊界段表達產生較明顯的干擾影響。
(2)多邊形方法的基本思想
多邊形是一系列線段的封閉集合,它可用來逼近大多數使用的曲線到任意的精度。
在實際中多邊形表達的目的:要用盡量少的線段來代表邊界並保持邊界的基本形狀,從而用較簡單的形式來表達和描述邊界。儘量少!
將邊界看成是有彈性的線,將組成邊界的畫素系列的內外邊各看成一堵牆,如將線拉緊則可到最小周長多邊形。
MPP演算法解釋,見雷剛薩斯P520.本質上就是一個尋找MPP的演算法。記住sgn()函式的意義就好!
8.聚合技術
演算法步驟:
1)沿著邊界選兩個相鄰的點對,計算首尾連線直線段與原始折線段的誤差R。
2)如果誤差R小於預先設定的閾值T。去掉中間點,選新點對與下一相鄰點對,重複1);否則,儲存線段的引數,置誤差為0,選被儲存線段的終點為起點,重複1)2)。
3)當程式的第一個起點被遇到,程式結束。
9.分裂技術
方法:將一條線段不斷的分割為兩個部分,直到滿足定好的某一標準。
演算法步驟:
1)連線邊界線段的兩個端點(如果是封閉邊界,連線最遠點);
2)如果最大正交距離大於閾值,將邊界分為兩段,最大值點定位一個頂點。重複1);
3)如果沒有超過閾值的正交距離,結束。
10.標記圖
邊界的一維函式表示。最簡單的方法是:角度的函式的形式畫出質心到邊界的距離。
不管怎麼生成標記圖,概念都是將邊界表示簡化為描述起來比原來的二維邊界更加簡單的一維函式
11.邊界線段
(1)基本概念
A、一個任意集合S(區域)的凸起外緣H是:包含S的最小凸起的集合。
B、H-S的差的集合被稱為集合S的凸起補集D。
分割方法:追蹤S的輪廓,並標記進入或者離開一個凸缺的轉變點。
存在問題:噪音的影響,導致出現零碎的劃分。
改進措施:先平滑邊界,然後再分段。
12.骨架
(1)基本思想
表示一個平面區域結構形狀的一種重要方法是把它削減成圖形。這種削減可以通過細化(也稱為抽骨架)演算法,獲取區域的骨架來實現。
(2)Blum的中軸變換方法(MAT)
設:R是一個區域,B為R的邊界點,對於R中的點p,找p在B上“最近”的鄰居。如果p有多於一個的鄰點,稱它屬於R的中軸(骨架)
12.1 演算法改進思想
在保證產生正確的骨架的同時,改進演算法的效率。比較典型的是一類細化演算法,它們不斷刪去邊緣點,但要受到下列條件約束:A、不移去端點
B、不破壞連通性
C、不引起區域的過度腐蝕
12.2一種細化二值區域的演算法:假設區域內的點值為1,背景值為0。由兩個基本操作組成。