文章目录
介绍
Halcon中文参考手册
使用说明
鉴于很多学习Halcon的朋友一直苦于翻译Halcon的文档,而网络上的中文版文档大多数都是简体的,不够全面,可能会漏掉许多需要学习的重要信息。
本文将根据Halcon
官方提供的英文参考手册进行翻译解读,内容比较多,译文内容可能有细微不准确。
第一章 1D Measuring (…),一维测量
本章包含1D测量的操作符。
1.一维测量的概念
通过1D测量,边缘,即从亮到暗或从暗到亮的过渡,可以沿着预定义的线或弧定位。这使您能够快速,轻松,高精度地测量零件的尺寸。请注意,如果要测量圆、椭圆、矩形或直线等几何原语的尺寸,并且已知位置、方向和几何形状的近似值,那么2D Metrology(计量学)可能是一个合适的选择。
下面简要介绍使用1D测量所需的步骤。
1)生成测量对象
首先,必须生成一个描述测量感兴趣区域的测量对象。如果测量应该沿直线进行,则测量对象由矩形定义。如果测量是沿着一条弧进行的,则测量对象定义为年弧。测量对象由操作符生成。
- gen_measure_rectangle2
- gen_measure_arc
请注意,可以使用基于形状的匹配(参见章节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 | 将度量对象写入文件。 |
… 持续更新中,订阅专栏后可找我领取halcon算子手册(中文翻译版)。