Halcon 測量定位

上結果:
在這裏插入圖片描述
原圖如下:
在這裏插入圖片描述
中間圖:
在這裏插入圖片描述
上代碼:

* 獲取圖像及圖像尺寸
dev_close_window ()
read_image (Image, 'D:/HalconWorkplace/img/measuring.jpg')
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_set_line_width (1)
dev_display (Image)

* 標記測量位置
draw_line (WindowHandle, Row1, Column1, Row2, Column2)
LineParams := [Row1, Column1, Row2, Column2]

* 創建測量句柄
create_metrology_model (MetrologyHandle)
* 添加測量對象
set_metrology_model_image_size (MetrologyHandle, Width, Height)
add_metrology_object_generic (MetrologyHandle, 'line', LineParams, 20, 3, 1, 30, [], [], Index)

* 設置測量對象的參數
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_transition', 'negative')
* set_metrology_object_param (MetrologyHandle, 'all', 'num_measures',10)
* set_metrology_object_param (MetrologyHandle, 'all', 'num_instances', 1)
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_sigma', 1)
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_length1', 20)
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_length2', 5)
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_threshold',30)
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_interpolation', 'bicubic')
* set_metrology_object_param (MetrologyHandle, 'all', 'measure_select', 'all')
* set_metrology_object_param (MetrologyHandle, 'all', 'min_score', 0.7)

* 執行測量,獲取邊緣點集
dev_set_color ('yellow')
apply_metrology_model (Image, MetrologyHandle)
get_metrology_object_measures (Contours, MetrologyHandle, 'all', 'all', Row, Column)
dev_set_color ('red')
gen_cross_contour_xld (Cross, Row, Column, 6, 0.785398)

* 獲取最終測量數據和輪廓線
dev_set_color ('green')
dev_set_line_width (2)
get_metrology_object_result (MetrologyHandle, 'all', 'all', 'result_type', 'all_param', Parameter)
get_metrology_object_result_contour (Contour, MetrologyHandle, 'all', 'all', 1.5)

* 釋放測量句柄
clear_metrology_model (MetrologyHandle)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章