2011-03-08 189 views
1

我正在我大學的項目中工作,並且遇到問題。目標是創建算法,可以跟蹤繪圖圖像中的曲線,並以預定義精度/步長創建一個Point(x,y)列表來描述曲線。曲線跟蹤

每幅圖像上的曲線數量> = 1,寬度> = 1像素。曲線可能有多個交點和顏色。他們也可以有相同的顏色。

什麼,我想要做的例子:

enter image description here

點是,我需要提取點。掃描區域必須由用戶選擇(無掃描區域中的軸或文本)。我發現了一些有趣的here,但我並不覺得自己在數學方面很強大。我需要更容易的東西。

+0

德米特里:你引用的論文是非常好的。如果你不能在那裏跟隨數學,也許你應該要求現有的語言/圖書館來做到這一點。在你的問題中,雖然沒有明確說明,但似乎你正在尋找一種算法。 – 2011-03-09 04:15:13

回答

0

我假設預定義的步驟是在水平軸上,比如說x軸,並且由於給出了步長,您可以從用戶所選區域的最左側像素開始。對於任何特定的x值,您都會從下邊界向上處理圖像,並檢測顏色。每種顏色都有一個分佈(即,它不只是一個給定x的像素),我建議取這個分佈的平均值。 當然,您應該重複此操作,直到x方向的下一步將落在用戶所選區域之外。現在你只需要調整顏色檢測的機制,即允許一個輕微的顏色範圍,而不是純紅色的藍色等,但這是一個完全不同的(雖然不是很難)的問題。

還有一件事情,它可能是在給定的x值兩個圖形重疊,並且可能不可見。在這種情況下,你可以增加x一點,然後再試一次,如果你在那個x處檢測到它,你可以很容易地推斷出它在前一個x處的其他圖。

好運

+0

如果所有線都是黑色的,該怎麼辦? :( – 2011-03-08 20:10:33

+0

好吧,假設兩個圖的x值不重疊,可以使用這個算法,也可以用我在最後提出的建議完成重疊部分。我想剩下的唯一問題是確定是否兩個圖表加入並進一步分開,哪個'傳入'分支屬於哪個'傳出'分支? 在你的例子中,足夠說下傳入分支將是上傳出分支,反之亦然。這不是真的,但我不推薦像你給的鏈接那樣的解決方案,因爲這對你的情況來說太複雜了。 – JBSnorro 2011-03-08 20:37:01