1. 程式人生 > >【Halcon】2D測量之一

【Halcon】2D測量之一

通過2D測量可以獲取一些特徵,如
• 物體的範圍,也就是說組成物體的畫素陣列
• 物體的方向
• 物體間或者物體組成部分間的角度
• 物體的位置
• 物體的尺寸 ,也就是說他的寬度高度或者物體間的距離,物體組成部分間的距離

• 物體的個數

分析measure_metal_part_first_example.hdev例程

第一步:建立區域並提取基礎資訊

• 通過threshold運算元提取感興趣的區域

• 通過area_center 和 orientation_region運算元得到區域的位置和方向

第二步:提取輪廓

• 通過edges_sub_pix運算元提取輪廓

第三步:分割輪廓

•通過segment_contours_xld運算元分割輪廓,’lines_circles’將輪廓分割為直線和圓弧,’lines’只分割為直線,’lines_ellipses’分割為直線和橢圓。

第四步:將輪廓劃分為直線段和圓形段

•通過get_contour_global_attrib_xld運算元把分割出來的輪廓分類,運算元可以獲取分割出來的輪廓的cont_approx係數的值,直線段的’cont_approx’ 值為-1, 橢圓形段 ’cont_approx’值為0, 圓形段 ’cont_approx’ 值為1。

第五步:提取圓形段輪廓的半徑

運算元fit_circle_contour_xld運算元擬合圓

第六步:計算圓心間的距離

運算元distance_pp計算出兩點間的距離

提取物體特徵的工具:

• 區域處理, 主要指的是 blob 分析
• 輪廓處理,包含邊緣濾波、邊緣提取,邊緣處理

• 幾何運算

blob 分析包含以下步驟:

• 預處理
• 影象分割得到感興趣的區域
• 區域處理

• 提取特徵

預處理可以用以下運算元:

去噪:mean_image   

抑制細線: median_image. 

gray_opening_shape ,gray_closing_shape.

平滑圖片:smooth_image

強化邊緣:anisotropic_diffusion

填充區域:fill_up或者形態學的運算元

形態學運算元opening_circle和opening_rectangle1可以抑制噪聲,closing_circle 和 closing_rectangle1填充區域

sub_image