我想獲得我的二進制圖像中的輪廓直線度量(相對較快)。圖像看起來如下:評估任意數值的直線度
現在,在紅色框的輪廓是,我想要優選除去的那些。由於它們不直。這些是我嘗試過的東西。我現在正在MATLAB中實現。
1.收集每個輪廓的行和列座標,然後取出導數。對於直線對象(例如矩形),導數將大部分爲低,並且有幾個尖峯(沿着矩形的拐角)。
問題:收集的座標不是按順序排列,即如果我們將其成像爲路徑,輪廓將被遍歷的順序。因此,衍生物有時會產生荒謬的高值。此外,輪廓不是絕對直的,它是邊緣檢測算法的輸出,所以您可以想象可能會有一些不連續性(請參見底部的矩形,人眼可以理解它是矩形,儘管它不是絕對直的)。
2.試着想想polyfit,但是這個輪廓問題又出現了。由於它是一個矩形,我不知道如何將polyfit應用到該點集。
此外,我想刪除垂直/水平分佈的輪廓。基本上這是一個車道檢測算法。所以車道不能完全垂直/水平。
任何想法?
+1從regionprops獲得eccentricity,這就是要走的路。 – bla 2013-03-23 04:01:48
感謝您提到偏心,我會嘗試。 – 2013-03-23 09:08:37