Halcon知识:segment_contours_xld算子
生活随笔
收集整理的這篇文章主要介紹了
Halcon知识:segment_contours_xld算子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、案例說明
????????邊界提取:以前的邊緣提取都建立在前景通過thresold將區域提取出,然后從區域提出XLD,但是,如果區域無法提出就不好辦了。此例子告訴大家,不必二值化提取,也能取出邊緣來,edges_sub_pix 就能做到。
????????本案例主要給出一種對比度不明顯的圖中,提取出圓、橢圓、直線的例子。? ? ?
在用Halcon進行圖像處理的過程中,必須對輪廓進行分割,將輪廓分為直線段、圓(或圓弧)、橢圓弧不同的段,輪廓分割最常用的算子是segment_contours_xld。
二、算子介紹
segment_contours_xld——Segment XLD contours into line segments and circular or elliptic arcs(將一個XLD輪廓分割為直線段、圓(圓弧)、橢圓弧。)
signature(語法): segment_contours_xld(Contours : ?ContoursSplit : ?Mode, ?SmoothCont, ?MaxLineDist1, ?MaxLineDist2 : ) 參數說明: Contours 需要進行分割的輪廓。 ContoursSplit 分割后的輪廓tuple。 Mode 分割輪廓的方式,可以選擇'lines'(使用直線段分割), 'lines_circles'(使用直線段和圓(弧)分割), 'lines_ellipses'(使用直線段和橢圓弧分割)。 SmoothCont 輪廓平滑的參數,可以抑制在折線逼近過程中過短的線段,能更加魯棒的逼近圓和橢圓。MaxLineDist1 第一次用Ramer算法(即用直線段遞進逼近輪廓)時的MaxLineDist,在逼近完成之后,再用圓弧或橢圓弧對相鄰分割線段進行擬合,如果擬合圓弧到輪廓的距離小于逼近線段到輪廓的距離,就用圓弧替代逼近線段,這個過程一致迭代直到所有的線段擬合完畢。 MaxLineDist2 第二次逼近輪廓時的MaxLineDist,只有當MaxLineDist2 這種兩步逼近算法效率較高,因為在第一次逼近過程中,遞進逼近的直線段較少,因此較大直徑的圓弧能夠被高效的分割出來。在第二次逼近過程中,能夠被小直徑圓弧逼近的輪廓被找到,同時大直徑圓弧的末端被重新定義。 Remark: 分割得到的輪廓是直線段、圓(圓弧)或者橢圓弧可以通過分割后輪廓的全局屬性'cont_approx’參數的值來確定(參考get_contour_global_attrib_xld)。 如果'cont_approx'=-1,這一部分輪廓最適合被擬合為直線段。 如果'cont_approx'=0,這一部分輪廓最適合被擬合為橢圓弧。 如果'cont_approx'=1,這一部分輪廓最適合被擬合為圓弧。
三、輪廓分割的例子:
read_image (Image, 'pumpe') edges_sub_pix (Image, Edges, 'canny', 1.5, 15, 40) segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 4, 2) count_obj (ContoursSplit, Number) gen_empty_obj (Lines) gen_empty_obj (Circles)for I := 1 to Number by 1select_obj(ContoursSplit, Contour, I)get_contour_global_attrib_xld (Contour, 'cont_approx', Type)if (Type == -1)concat_obj (Lines, Contour, Lines)elseconcat_obj (Circles, Contour, Circles)endif endforfit_line_contour_xld (Lines, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist) fit_circle_contour_xld (Circles, 'atukey', -1, 2, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)總結
以上是生活随笔為你收集整理的Halcon知识:segment_contours_xld算子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Halcon知识 : 乘法图像融合
- 下一篇: halcon知识:ncc_model模板