2012-06-22 41 views
4

我正在尋找一種計算矢量形狀骨架的算法。限制如下:形狀是減去閉合路徑的結果,由分段立方體/圓錐曲線,貝塞爾曲線和線段表示,這就是爲什麼可以包含孔。矢量形狀變薄

如果形狀表示爲柵格連接組件,則存在許多可立即製造的算法和實現,例如Zhang-Suen,P. Kwok,3-4 Geometry IV中的距離轉換甚至C實現「Binary Image Thinning Using Neigborhood地圖「。

所以問題:有沒有一種算法,有矢量輸入計算矢量骨架以乾淨的方式,沒有光柵化路徑,減少它,並轉換回向量表示?

附錄:是否有任何數學形態學處理矢量形狀?

+0

你可以發佈你的矢量形狀的例子嗎? – Ani

+0

下面是封裝的PostScript示例文件:https://docs.google.com/open?id=0B_L82eoraNOTNkNhdURqWGJlYU0 –

+0

Google文檔和Word都不能爲我打開該文檔。請發佈指向文檔柵格化版本的鏈接。 – Ani

回答

0

有趣的問題!我想當一個人不得不看看矢量圖形圖像和它們是如何編碼的。在這種情況下,我會選擇SVG,它基本上編碼線,多邊形和點,以便它們可以重新繪製或以更高分辨率重新渲染。因此,對於使用SVG編輯器或矢量圖形編輯器正確構造的任何圖像 - 基本上是對要重繪的形狀和線條進行編碼。

因此,爲了實際獲得一個骨架,這也是從SVG獲得的SVG,必須複製多邊形重新編碼過程並執行多邊形空間的骨架化,從而重新編碼生成的一組線它們構成了骨架。這在計算機圖形學界基本上給你一個Straight Skeleton!這將在任何縮放中產生一個骨架!