摘要
heliAlgo Library 通过面向 Heliotis 3D 测量数据处理的专用算法,扩展了传统机器视觉软件。其中许多算法利用了关于 Heliotis 测量原理与数据的专门知识,也在 Heliotis 的参考软件与生产软件中内部使用。
heliAlgo 并非旨在替代现有机器视觉库,而是作为补充。相关算法可与 HALCON、OpenCV、自研算法或现有机器视觉应用的其他组件组合使用。
提供适用于 C/C++、CLR(C#、LabVIEW)、Python、Rust、HALCON 和 Aurora Vision 的绑定。无论使用何种编程接口,均采用相同的核心算法。
heliAlgo Library 的标准包可免费获取。仅用于计算符合标准的表面参数的 ISO Roughness 包需要额外许可证。
快速指南
1. 下载并安装 heliAlgo
heliAlgo Library 的最新版本可在 Heliotis 的软件下载区下载。提供适用于 Windows 和 Linux 的安装程序。下载需要 Heliotis 登录账号。
在安装程序中可选择所需的算法包与编程接口。多数情况下,我们建议安装完整的 Library,同时也会安装本地文档与编程示例。
2. 算法包
heliAlgo 按不同处理任务划分为多个功能包:
- C4 Algos – 专用于 heliCam C4 数据的算法
- Calibration – 标定、校正与拼接
- Data Cleaning – 包括离群点去除与多项式拟合等
- Surface Algorithms – 表面与相位数据处理,包括 Guided Phase Unwrapping
- System Checks – 光学系统表征,例如焦点与 MTF 分析
- ISO Roughness – 符合标准的表面参数
- Utilities – 额外的辅助功能
- Experimental – 已可使用但其 API 可能在未来版本中仍会变更的算法
安装的目录结构会映射这些功能包,并额外包含所选绑定、文档与示例。
3. 使用文档
每个算法包都包含详尽的本地文档。在 Background Information 中,会说明相应算法的工作原理与使用方式,以及相关边界条件与限制。
另有独立章节记录不同编程环境的接口,以及对应的函数与参数。因此,该文档是将 heliAlgo 算法集成到现有应用中的良好起点。
4. 将 heliAlgo 集成到您的应用中
提供适用于以下编程环境的绑定:
C/C++ · CLR(C#、LabVIEW) · Python · Rust · HALCON · Aurora Vision
差异仅在于编程接口。底层 heliAlgo 算法保持一致,因此可在不同机器视觉环境中使用。
5. 示例:使用 Python 进行 Guided Phase Unwrapping
本教程展示了一条简单的处理链:使用 Surface Algorithms 包中的 Guided Phase Unwrapping,以及 Data Cleaning 中的 Polynomial Fit。
起始数据为一幅缠绕相位图及其对应的幅度图。Guided Phase Unwrapping 同时使用这两类输入数据。幅度提供测量质量信息,并帮助算法选择合适的相位展开路径,从而降低局部相位误差在更大表面区域传播的风险。
随后通过一阶多项式拟合去除整体平面。最后一步在考虑测量波长的情况下,将相位值从弧度换算为物理表面高度。
结果可显示为 2D 高度图,或在机器视觉应用中进一步处理。
6. 许可
heliAlgo Library 的标准功能可免费获取;相应的标准许可证已包含在安装中。
对于 ISO Roughness 包,需要额外许可证。可使用随附的 Hardware ID Tool 获取目标 PC 的硬件 ID。Heliotis 可据此提供相应的许可证文件。或者,如有需要,也可将许可证绑定到 HALCON 加密狗。
更新 heliAlgo 时,现有许可证文件会被自动识别并保留。