Halcon的Measure算子大全

生成测量对象
首先,必须生成一个测量对象来描述感兴趣的测量区域。如果测量应沿直线进行,则测量对象由矩形定义。如果测量应沿圆弧进行,则测量对象定义为圆弧。测量对象由算子生成:

gen_measure_rectangle2
gen_measure_arc
注意,您可以使用基于形状的匹配(参见匹配/基于形状)来自动对齐测量对象。

执行测量
然后进行实际测量。为此,通常使用以下算子之一:

measure_pos算子提取垂直于被测对象主轴的直线边,并返回边缘中心的位置、边缘振幅和连续边缘之间的距离。
measure_pairs算子提取垂直于测量对象主轴的直线边对,返回边对的边缘中心位置、边对的边缘振幅、边对的边缘之间的距离以及相邻边对之间的距离。
measure_thresh算子沿着测量对象的主轴提取具有特定灰度值的点,并返回它们的位置和连续点之间的距离。
如果有额外的边不需要测量,可以应用模糊测量。首先必须定义描述好边特征的所谓模糊规则。可能的特征是位置、距离、灰度值或边缘的振幅。这些函数是用create_funct_1d_pairs创建的,并通过set_fuzzy_measure或set_fuzzy_measure_norm_pair传递给工具。然后下面算子将根据这些规则,提取出最合适的边缘:

fuzzy_measure_pos算子提取垂直于测量对象主轴的直线边,返回边缘中心的位置、边缘振幅、模糊分数和连续边缘之间的距离。
fuzzy_measure_pairs算子提取直线边缘对垂直于主轴的测量对象,并返回边缘对的第一和第二的位置边缘,边缘对的边缘振幅,边缘对的中心位置,模糊分数,边缘对的边缘之间的距离,以及连续的边缘对之间的距离。。
fuzzy_measure_pairing类似于fuzzy_measure_pairs,但它也可以使用参数Pairing来提取交错和包含的成对。
除了自动提取测量对象内的边缘或点外,您还可以提取垂直于矩形或环形弧的一维灰度值轮廓,并根据您的需要评估该灰度值信息。利用该算子可以提取测量对象内的灰度值轮廓:measure_projection。

销毁测量对象句柄
当您不再需要测量对象时,可以通过传递句柄来销毁它:close_measure。

进一步的操作
除了上面提到的算子,您可以使用reset_fuzzy_measure丢弃一套之前通过set_fuzzy_measure或set_fuzzy_measure_norm_pair设置的模糊函数的模糊集,translate_measure将测量对象的参考点转换到指定位置,write_measure和read_measure将测量对象写入文件并从文件中重新读取,serialize_measure和deserialize_measure将测量对象序列化和反序列化。

算子列表
close_measure:删除测量对象。

deserialize_measure:对序列化的度量对象进行反序列化。

fuzzy_measure_pairing:提取垂直于矩形或环形弧的直边对。

fuzzy_measure_pairs:提取垂直于矩形或环形弧的直边对。

fuzzy_measure_pos:提取垂直于矩形或环形弧的直边。

gen_measure_arc:生成提取垂直于环形弧的直边的测量对象。

gen_measure_rectangle2:生成提取垂直于矩形的直边的测量对象。

measure_pairs:提取垂直于矩形或环形弧的直边对。

measure_pos:提取垂直于矩形或环形弧的直边。

measure_projection:提取垂直于矩形或环形弧的灰度值轮廓。

measure_thresh:沿矩形或环形弧提取具有特定灰度值的点。

read_measure:从文件中读取度量对象。

reset_fuzzy_measure:重置模糊函数。

serialize_measure:序列化度量对象。

set_fuzzy_measure:指定一个模糊函数。

set_fuzzy_measure_norm_pair:为边对指定一个归一化模糊函数。

translate_measure:转换测量对象。

write_measure:将度量对象写入文件。

你可能感兴趣的:(人工智能,算法)