在計算機圖形學和圖像處理技術中,鏈碼是一種將物體輪廓線編碼成黑白或單色圖像的算法,由此產生的代碼序列既可以描述如何繪制物體相對于其所在圖像的輪廓線,或者它可以是相對于算法開始的輪廓上的位置的方向集合,本質上提...
在計算機圖形學和圖像處理技術中,鏈碼是一種將物體輪廓線編碼成黑白或單色圖像的算法,由此產生的代碼序列既可以描述如何繪制物體相對于其所在圖像的輪廓線,或者它可以是相對于算法開始的輪廓上的位置的方向集合,本質上提供了重新繪制對象時可以遵循的步驟。這些代碼可以根據公式進行規范化,然后與另一個鏈代碼進行比較,以確定兩個對象是否相同。鏈代碼可用于在計算機視覺程序中分離物體或圖像處理中的圖像分割,雖然這更常用于光學字符識別(OCR)程序中。手持計算機雖然有幾種已建立的鏈碼算法,但每個算法的基本概念都是相同的。首先,確定物體的邊緣,通常通過在光柵圖像中逐像素地移動。一旦定位,就會記錄位置并檢測周圍的邊緣。根據檢測算法是順時針還是逆時針移動,當前位置沿著邊緣向一個方向或另一個方向移動,直到它返回到原始位置當當前位置移動時,鏈碼中會記錄一個數字。這個數字通常表示沿對象邊緣移動的方向。例如,如果鏈碼算法是沿著一條直線從右向左移動,那么每次沿著一條直線向左跟蹤時,左邊的數字代碼加到代碼的末尾,得到的代碼是一串數字,如果從任意的起點開始,在每一步都放置一個像素,對象的輪廓將被重新繪制當組成代碼的數字串完成后,可以對其應用幾種不同的算法,以幫助與其他鏈碼序列進行比較。首先,通過旋轉起始數字,直到確定最小整數值,對數字進行規范化。這樣,可以比較兩個具有相同輪廓的對象,而不管編碼是從哪個對象開始的。還有一種更復雜的鏈碼算法。這些算法包括基于矢量的編碼,其中一個對象的輪廓由一系列由線連接的坐標序列來描述,盡管這種方法可以在精細的輪廓上使用時會有損。該算法的一個版本也存在,它使用游程編碼(RLE)來進一步壓縮異常大或復雜對象的代碼,以便以更有效的方式存儲這些代碼
-
發表于 2020-08-07 00:11
- 閱讀 ( 1972 )
- 分類:電腦網絡