日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

Halcon知识:segment_contours_xld算子

發(fā)布時間:2025/3/21 ChatGpt 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Halcon知识:segment_contours_xld算子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、案例說明

????????邊界提取:以前的邊緣提取都建立在前景通過thresold將區(qū)域提取出,然后從區(qū)域提出XLD,但是,如果區(qū)域無法提出就不好辦了。此例子告訴大家,不必二值化提取,也能取出邊緣來,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 : ) 參數(shù)說明: Contours 需要進行分割的輪廓。 ContoursSplit 分割后的輪廓tuple。 Mode 分割輪廓的方式,可以選擇'lines'(使用直線段分割), 'lines_circles'(使用直線段和圓(弧)分割), 'lines_ellipses'(使用直線段和橢圓弧分割)。 SmoothCont 輪廓平滑的參數(shù),可以抑制在折線逼近過程中過短的線段,能更加魯棒的逼近圓和橢圓。
MaxLineDist1 第一次用Ramer算法(即用直線段遞進逼近輪廓)時的MaxLineDist,在逼近完成之后,再用圓弧或橢圓弧對相鄰分割線段進行擬合,如果擬合圓弧到輪廓的距離小于逼近線段到輪廓的距離,就用圓弧替代逼近線段,這個過程一致迭代直到所有的線段擬合完畢。
MaxLineDist2 第二次逼近輪廓時的MaxLineDist,只有當(dāng)MaxLineDist2 這種兩步逼近算法效率較高,因為在第一次逼近過程中,遞進逼近的直線段較少,因此較大直徑的圓弧能夠被高效的分割出來。在第二次逼近過程中,能夠被小直徑圓弧逼近的輪廓被找到,同時大直徑圓弧的末端被重新定義。 Remark: 分割得到的輪廓是直線段、圓(圓弧)或者橢圓弧可以通過分割后輪廓的全局屬性'cont_approx’參數(shù)的值來確定(參考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)

總結(jié)

以上是生活随笔為你收集整理的Halcon知识:segment_contours_xld算子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。