explore_halcon.hdev(35)之p_do_roads函數模塊

函數:根據航拍圖像提取道路

該函數是根據lines_gauss算子提取輪廓線,在根據輪廓線提取平行線,最後判斷滿足條件的平行線即默認爲是道路。

RDB(Ramer–Douglas–Peucker):減少線段中的點。該算法遞歸進行,首先設定一個閾值,在點集的第一個點和最後一個點間拉一條線段,找出剩下的點集中離線段最遠的一個點,如果該點到線段的距離小於閾值則捨棄中間的所有點,如果大於閾值。將該點作爲中間點和最初的兩個點生成兩條線段,重複上述過程。

效果圖:

算子:

1.lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions : ):檢測線條及其寬度

參數:

Sigma:平滑量

Low:滯後閾值的低閾值

High:滯後閾值的高閾值

LightDark:提取亮線還是暗線

ExtractWidth:是否應該提取線寬

LineModel:線模型用於修正線的位置和寬度

CompleteJunctions :是否應該在不能提取的地方添加連接

2.clip_contours_xld(Contours : ClippedContours : Row1, Column1, Row2, Column2 : ):剪切一個XLD輪廓

3.gen_polygons_xld(Contours : Polygons : Type, Alpha : ):用多邊形近似輪廓

參數:

Type:類型的近似( Ramer算法)

Alpha:近似的閾值

4.gen_parallels_xld(Polygons : Parallels : Len, Dist, Alpha, Merge : ):提取平行的XLD多邊形

參數:

Parallels :只返回平行關係的線

Len:每個多邊形段的最小長度

Dist:多邊形段之間的最大距離

Alpha:多邊形段的最大角度差

Merge :是否合併相鄰的平行關係

5.mod_parallels_xld(Parallels, Image : ModParallels, ExtParallels : Quality, MinGray, MaxGray, MaxStandard : ):提取包圍均勻區域的平行XLD多邊形

參數:

Parallels:平行輪廓

Image:對應的灰度值圖像

ModParallels:去掉輪廓相似後的輸出

ExtParallels :擴展的XLD

Quality:最小質量因數(平行度測量)

MinGray:最小平均灰度值

MaxGray:最大平均灰度值

MaxStandard:最大允許標準差

6.combine_roads_xld(EdgePolygons, ModParallels, ExtParallels, CenterLines : RoadSides : MaxAngleParallel, MaxAngleColinear, MaxDistanceParallel, MaxDistanceColinear : ):結合來自兩個分辨率層次的道路假設

參數:

MaxAngleParallel:兩個平行線之間的最大角度

MaxAngleColinear:兩個共線線段之間的最大角度

MaxDistanceParallel:兩個平行線段之間最大距離

MaxDistanceColinear :兩個共線線段之間最大的距離

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章