的問題:算法使直線出顛簸像素
我有,我從谷歌的靜態地圖API下載的圖像。我使用這個圖像來基本創建一個用戶點擊的「魔術棒」類型的功能。對於那些感興趣的人,我正在使用圖形切割算法來查找用戶點擊的形狀。然後使用輪廓跟蹤查找代表此形狀邊界的所有點(邊界點)。
我的目標:
理順線(如果可能的話),並儘量減少borderPoints的量(儘可能地)。我目前的用例是房屋屋頂,所以在大多數情況下,我希望我可以找到角落,只是將它們用作邊界點而不是所有的變化點。但由於顛簸的像素線,我無法找出如何找到這些角落。
我在一個解決方案嘗試:
一個簡單的技術是循環在檢查點前的點,當前點和後點。如果前面的點和後面的點具有相同的x或相同的y,則可以刪除當前點。這會稍微減少點數,但不如我想要的那麼多。
我也試過看前後點,看看當前點是否可以刪除,如果它不在一定的斜率範圍內,但沒有成功,因爲偶爾一個關鍵角點被刪除,因爲圖像是善良的的模糊和角落有點圓潤點。
我的問題:
有沒有做這種類型的事情任何算法?如果是這樣,他們叫什麼?如果沒有,關於如何主動解決這個問題的想法?
http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm –
感謝您的快速響應。我會檢查出來並報告它是如何發生的。 – testing123
@MartinBeckett這正是我所需要的。你應該回答問題而不是評論,所以我可以將它標記爲答案:)。否則,我會在你之後標記回答它的其他人。再次感謝! – testing123