read_image (Image, 'C:/Users/G/Desktop/printer_chip_01.png')
dev_get_window (WindowHandle)
dev_set_draw ('margin')
get_image_size (Image, Width, Height)
draw_rectangle2 (WindowHandle, RoiRow, RoiColumn, RoiPhi, RoiLength1, RoiLength2)
*gen_rectangle2 (Rectangle, RoiRow, RoiColumn, RoiPhi, RoiLength1, RoiLength2)
create_metrology_model (MetrologyHandle)
set_metrology_model_image_size (MetrologyHandle, Width, Height)
paramName:=['measure_transition','measure_select','num_measures','min_score']
paramValue:=['positive','first',int(RoiLength2/3),0.5]
add_metrology_object_line_measure (MetrologyHandle, RoiRow+RoiLength2, RoiColumn, RoiRow-RoiLength2, RoiColumn, RoiLength1, 1, 1, 30, paramName, paramValue, Index)
apply_metrology_model (Image, MetrologyHandle)
*获取测量结果
get_metrology_object_result (MetrologyHandle, 0, 'all', 'result_type', 'all_param', Parameter)
*拟合点集坐标
get_metrology_object_measures (Contours, MetrologyHandle, 'all', 'all', Row3, Column3)
*线xld
get_metrology_object_result_contour (Contour, MetrologyHandle, 0, 'all', 1.5)
clear_metrology_model (MetrologyHandle)
dev_set_color ('green')
*gen_cross_contour_xld (Cross, Row3, Column3, 16, 45)
*distance_pc (Contour, Row3, Column3, DistanceMin, DistanceMax)
distance_pl(Row3,Column3,Parameter[0],Parameter[1],Parameter[2],Parameter[3],Distance)
Num:=|Distance|
dev_set_color ('red')
for Index := 0 to Num-1 by 1
if(Distance[Index]>=5)
gen_cross_contour_xld (Crossx, Row3[Index], Column3[Index], 40, 0.785398)
endif
endfor
advddd
于 2023-04-24 17:18:16 首次发布