比方說,我有一個形狀像這樣:形狀上的邊界發現點的座標
希望我所有的笑話來繪製豆類都用盡之後,我想找到點在形狀的邊界上。我知道可以有很多,所以他們之間的公平距離被接受。
是否有這樣的需求算法?或者一個軟件?我提出的所有解決方案都涉及許多手動工作,特別是如果我想繪製稍微不同的形狀。
Stackoverflow智慧,請幫助。
比方說,我有一個形狀像這樣:形狀上的邊界發現點的座標
希望我所有的笑話來繪製豆類都用盡之後,我想找到點在形狀的邊界上。我知道可以有很多,所以他們之間的公平距離被接受。
是否有這樣的需求算法?或者一個軟件?我提出的所有解決方案都涉及許多手動工作,特別是如果我想繪製稍微不同的形狀。
Stackoverflow智慧,請幫助。
您可以簡單地掃描像素水平和垂直找到色彩邊界,或者,如果你想要一個更復雜的和通用的解決方案,您可以例如使用gradient method
檢測邊緣:
編輯
回答您的評論,圖像只是一個二維數組,包含像素值。您可以測試每個像素並選擇具有特定顏色的像素。就像這樣:
和結果是你的邊緣像素:
{{35, 107}, {35, 108}, {35, 109}, {35, 110}, {35, 111},
{35, 112}, {35, 113}, {35, 114}, {35, 115}, {35, 116},
{35, 117}, {35, 118}, {35, 119}, {35, 120}, {35, 121},
{36, 103}, {36, 104}, {36, 105}, {36, 106}, {36, 107}, etc....
這聽起來像你要尋找的「量化」,或更確切地說「位圖矢量化」。如果你矢量化你的位圖,你會得到你的形狀矢量版本,它會給你所有的邊界座標。
如果是這樣,有許多可用的解決方案,包括自動跟蹤:http://autotrace.sourceforge.net/
不知道你是怎麼做的,但澄清:我需要座標的列表,而不是生成的圖像。 – Tudorizer 2011-02-07 21:16:19
@Tudorizer圖像是一個矩陣。座標列表是(行,列)像素是白色的列表! – 2011-02-07 21:18:24