很多時候當我們用
edges_sub_pix,
threshold_sub_pix 等算子得到邊緣后,因為有噪聲、物體本身斷裂等原因 很多邊緣是共線但是斷裂的
如下圖所示,提取鍵盤的網格,左圖有很多共線線段,右圖為共線連接后的結果
更詳細信息可查閱自帶例程:
measure_grid.hdev
一個更直觀的例子提取網格,左圖因為網格有交叉點通過
edges_sub_pix得到是斷裂的網格線,右圖為
union_collinear_contours_xld的結果
union_collinear_contours_xld參數詳解:
MaxDistAbs:
沿參考回歸線方向輪廓端點的最大距離。等於
臨近的端點在第一條回歸線上的投影距離。
MaxDistRel:輪廓端點距離相對於沿參考回歸線方向相對於被延長的輪廓的長度的值
MaxShift:輪廓到參考回歸線的最大距離(垂直距離),這個參數決定,即使兩個輪廓處於平行,也會合並
MaxAngle: 兩個輪廓的最大角度差,弧度制
Mode: :
比如,edges_sub_pix附着於每個輪廓點一些屬性:角度、邊緣方向等可參考
get_contour_attrib_xld。
選擇默認值'attr_keep',所有的屬性都會考慮,
如果輸入輪廓過多,可能就會影響性能,尤其是接下來用不到這些屬性。這時,使用'attr_forget'比較好。
NOTCE: 共線輪廓不能和其它輪廓有較大重疊度。最大重疊度為0.5像素。
如果想要合並重疊輪廓就用Unoin_collinear_contours_ext_xld,這是本算子的一個擴展算子。
關注微信:halconhub,每日獲取halcon精華文章
