本文将根据halcon官方提供的英文参考手册进行翻译解读,译文内容可能有细微不准确。
每一章节最后列有该章节内容的相关算子函数。
网络上的中文版文档大多数都是简体的,不够全面,可能会漏掉许多需要学习的重要信息,这里直接对官方文档翻译。内容比较多,这里将一边阅读学习一边更新。
第一章 1D Measuring (...) ,一维测量
本章包含1D测量的操作符。
1.一维测量的概念
通过1D测量,边缘,即从亮到暗或从暗到亮的过渡,可以沿着预定义的线或弧定位。这使您能够快速,轻松,高精度地测量零件的尺寸。请注意,如果要测量圆、椭圆、矩形或直线等几何原语的尺寸,并且已知位置、方向和几何形状的近似值,那么2D Metrology(计量学)可能是一个合适的选择。
下面简要介绍使用1D测量所需的步骤。
(1)生成测量对象:
首先,必须生成一个描述测量感兴趣区域的测量对象。如果测量应该沿直线进行,则测量对象由矩形定义。如果测量是沿着一条弧进行的,则测量对象定义为年弧。测量对象由操作符生成。
请注意,可以使用基于形状的匹配(参见章节Matching匹配/shape-based基于形状)来自动对齐测量对象。
(2)执行测量:
然后,进行实际测量。为此,通常使用以下操作符之一:
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。
(3)销毁测量对象句柄:
当不再需要度量对象时,通过将句柄传递给
close_measure。
2.进一步的操作
除了上面提到的运算符,还可以使用reset_fuzzy_measure来丢弃之前通过set_fuzzy_measure或set_fuzzy_measure_norm_pair设置的模糊集的模糊函数,translate_measure用于将测量对象的参考点平移到指定位置,write_measure和read_measure用于将测量对象写入文件并再次从文件中读取,serialize_measure和deserialize_measure用于对测量对象进行序列化和反序列化。
3.术语表
下面将介绍在一维测量中使用的最重要的术语。
测量对象
一种包含特定感兴趣区域的数据结构,用于提取垂直于矩形或环形弧长轴的直边。
环形弧
具有相应宽度的圆弧。
4.进一步的信息
有关1D测量的更多详细信息,请参见“解决方案指南基础”和“1D测量解决方案指南”。
5.操作符列表
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
将度量对象写入文件。
转载自:https://blog.csdn.net/qq_45813590/article/details/132292869