方法原型:
measure_pairs(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)
解释:
measure_pairs:用于提取垂直于矩形或环形弧长轴的直边对.
Image:输入待检测图片;
MeasureHandle:一个测量句柄=>gen_measure_rectangle2
Sigma:高斯滤波的参数:
Threshold:是对高斯滤波曲线的一阶导数设置的阈值(幅值)
Transition:'all', 'all_strongest', 'negative', 'negative_strongest', 'positive', 'positive_strongest'
Select:'all' 'first' 'last'
RowEdgeFirst,第一个边的row集合
ColumnEdgeFirst,第一个边的Column集合
AmplitudeFirst:第一个边的幅值
RowEdgeSecond:第二个边的row集合
ColumnEdgeSecond:第二个边的Column集合
AmplitudeSecond:第二个边的幅值
IntraDistance:边队内距离
InterDistance:连续边队之间距离
相关方法:
gen_rectangle2
gen_measure_rectangle2
close_measure( : : MeasureHandle : ) *删除MeasureHandle对象,并释放对象的内存占用。
dev_update_off ()
dev_clear_window()
*设置绘制方式
dev_set_draw ('margin')
read_image (Image, 'C:/Users/Public/Documents/MVTec/HALCON-18.11-Progress/examples/images/printer_chip/printer_chip_01.png')
get_image_size (Image, Width, Height)
rgb1_to_gray (Image, GrayImage)
Row1:=160
Column1:=320
Length1:=900
Length2:=10
Phi:=rad(0)
gen_rectangle2 (Rectangle, Row1, Column1, Phi, Length1, Length2)
dev_display (GrayImage)
dev_display (Rectangle)
gen_measure_rectangle2 (Row1,Column1,Phi,Length1,Length2,Width,Height,'nearest_neighbor', MeasureHandle)
measure_pairs (GrayImage, MeasureHandle, 1,100, 'positive', 'all', RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)
count:=|IntraDistance|
gen_rectangle1 (Rectangle1, RowEdgeSecond[1], ColumnEdgeSecond[1], RowEdgeSecond[1]+200, ColumnEdgeSecond[1]+10)
dev_display (Rectangle1)
dev_disp_text (count+'个元素', 'window', 123, 500,'red', [], [])