定義
XLD是eXtended Line Description的縮寫,中文你可以直譯過來解釋為 擴展線的描述,XLD可以來表達輪廓和多邊形數據。XLD屬于圖像變量,輪廓是一系列的二維點組成,一系列點連接成線,這裡的可以看到這些連接的線是從像素中穿過去的,我們叫這是亞像素精度(sub_pixel),在halcon中,XLD不僅包括點集,而且XLD裡面保存了局部和全局的屬性,典型的屬性有點的幅度以及輪廓分割的回歸參數
XLD輪廓
在halcon中,還可以對輪廓XLD進行一系列的處理,例如可以通過select_shape_xld選擇特定的特征對象XLD,還可以segment_contour_xld來把輪廓分割,還可以把union_*_contours_xld一系列算子對輪廓進行合并等操作。
我們認識了XLD之後,我們可以使用XLD拿來幹嘛呢? XLD可以用來做測量,XLD創建模闆,XLD可以用來拟合直線等。
獲取XLD在獲取XLD中,一種是交互式畫XLD,draw_xld,這種方式在實際基本沒有使用,意義不大。還有一種是通過read_contour_xld_dxf讀取XLD,這是通過CAD畫的輪廓圖,或者通過write_contour_xld_dxf寫入的輪廓,這裡面可能在某些應用中會使用,前期通過CAD建模,讀取到XLD後我們就可以拿來用作匹配的輪廓。
xld保存
dxf輪廓轉換
還有一種方式是直接通過算法來獲取XLD輪廓,在這裡是基于亞像素的輪廓,對應着有彩色圖像和灰度圖像的獲取。edge_color_sub_pix、edges_sub_pix,這兩個算子我們會經常使用。
我們還可以通過gen_contour_*_xld系列算子來轉換成XLD,隻不過,在這裡有些是亞像素精度,有些是像素精度。
當我們得到輪廓後,還需要對輪廓進行修飾,常用的使用select_shap_xld,主要的特征有四類,基本、形狀、點、moments等特征。
select_shape_xld
有時候也需要對輪廓進行分割,通過segment_contours_xld來進行分割,獲取特定輪廓的坐标點通過get_contour_xld算子獲取,這個算子輸出輪廓的坐标點集,我們可以使用這些點集來進行特定的應用,可以是拟合直線、拟合圓、判斷最大最小值,這就是你的業務邏輯的事情了。
總結一下,XLD是halcon裡面的一種數據格式,把點集封裝了一下,點集連接成線,這些點集有一些自己的特性,halcon已經封裝好了,XLD在應用中是廣泛使用的一種工具,用來分割圖像特征,學會使用XLD工具會給我們工作帶來極大的便利。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!