可以试试halcon的卡尺工具。大概的代码如下:
create_metrology_model (MetrologyHandle)
set_metrology_model_image_size (MetrologyHandle, Width, Height)
add_metrology_object_line_measure(MetrologyHandle, rowS, colS, rowE, colE, MeasureLength1, MeasureLength2, 1, MeasureThreshold, [], [], Index1)
set_metrology_object_param (MetrologyHandle, 'all', 'measure_transition', MeasureDection)
set_metrology_object_param (MetrologyHandle, 'all', 'measure_select', MeasureSelectPoint)
set_metrology_object_param (MetrologyHandle, 'all', 'num_measures', MeasureNum)
set_metrology_object_param (MetrologyHandle, 'all', 'min_score', MinScore)
set_metrology_object_param (MetrologyHandle, 'all', 'num_instances', NumInstances)
apply_metrology_model (ImageEmphasize, MetrologyHandle)
* ******2.2 结果显示
get_metrology_object_measures (ContoursDown1, MetrologyHandle, 'all', 'all', Row1, Column1)
gen_cross_contour_xld (Cross, Row1, Column1, 10, 0.78)
* ******2.3 结果获取
get_metrology_object_result_contour (ContourUp, MetrologyHandle, 'all', 'all', 1.5)
get_metrology_object_result (MetrologyHandle, Index1, 'all', 'result_type', 'row_begin', rowUpS)
get_metrology_object_result (MetrologyHandle, Index1, 'all', 'result_type', 'column_begin', colUpS)
get_metrology_object_result (MetrologyHandle, Index1, 'all', 'result_type', 'row_end', rowUpE)
get_metrology_object_result (MetrologyHandle, Index1, 'all', 'result_type', 'row_end', colUpE)
clear_metrology_model (MetrologyHandle) |