路徑簡化與骨架化
• thin(M, b) - 傳回以臨界值 b 二進位化的精簡版矩陣 M。
• skeleton(B,[b]) - 傳回侵蝕至最內階的二元矩陣 B。
這些函數可將圖像中的物件,轉換成約略從每個物件中心向下延伸的線條組。
thin 與 skeleton 函數會先將圖像二進位化,然後再予以簡化或留輪廓。這在圖像分析中進行圖樣辨識時可派上用場,例如進行光學字元辨識 (OCR) 時。
簡化與留輪廓是極端形式的圖像處理,只有在圖像物件的基本形狀有其重要性時,才會使用。與簡化作業不同的是,輪廓作業會保留輸入物件的大小。輪廓的端點會持續延伸至輸入物件的邊緣。
簡化作業會將二進位圖像中的物件,轉換成一組簡單的數位線條 (或弧),這些線條大致上會沿著物件的中軸 (中線) 行進。保留的結構不會受圖像物件的微小變化影響。此演算法會遞迴地刪除有多個鄰點的簡單邊界點。使用此演算法時,不會刪除精簡弧的端點。
|
• 若未提供選用引數 b,則 skeleton 函數會執行簡單的留輪廓作業 - 侵蝕二進位化圖像的邊緣,直到只剩下中線為止。skeleton 函數在背景為黑色的白色圖像上最能發揮效用。
• 若未提供選用引數 b,則 skeleton 函數會使用更進階的輪廓演算法,此時物件上的輪廓會定義為與最近邊界的距離為局部上限的點集合。只要有輪廓以及每個輪廓點與其輪廓之間的距離,原始二進位圖像即可復原,方法是以輪廓點為中心,以相當於關聯輪廓距離的長度為半徑,製作鄰接圓形區域的交集。此時輪廓作業為圖像物件的可供重新產生表示。
|
引數
• M 是灰階圖像矩陣。
• B 是二進位化圖像矩陣。
• b 是代表二進位化強度臨界值的實數。
b 是 skeleton 函數的選用項目。