MVTec Software GmbH
 

使用 HALCON 进行编程

HALCON 提供多种接口,可以使用 C,C++ 和 .NET 语言(如 C# 或 VB.NET)等编程语言访问 HALCON 全部 2000 多个强大的算子。通过它的开放式架构,您可以访问已定义的数据结构,从而将 HALCON 与用户界面或过程控制等其他软件组件集成。例如,HALCON 提供了一个强大的 Visual Studio 扩展

该软件还支持并行编程,例如多线程程序。如此一来,多个线程可以同时调用 HALCON 算子。所有这些特性,再加上 HALCON 内置的高性能内存管理,让您可以专注于应用程序开发,快速找到解决方案。

在 Visual Studio 中调试
可以直接在 Visual Studio 中检查 HALCON 变量

HALCON/.NET

HALCON / .NET 是 HALCON 与 .NET 编程语言(例如 C# 或 Visual Basic .NET)的接口。 它为 Windows Forms 和 WPF 提供了一组 .NET 类和可视化控件,并提供了对 HALCON 功能的全面支持。 两个 .NET 平台的两个 HALCON / .NET 变体,即前 .NET Framework 和新 .NET Cor e平台,都具有相同的接口和行为。 HALCON / .NET Core 可以在任何 HALCON 标准平台上使用。

HALCON/C++

借助 HALCON/C++,您可以访问 HALCON 基于 C++ 类层次结构的全部功能。这可以帮助您开发出非常紧凑且易于维护的程序。HALCON/C++ 可在 Windows, Linux 和 macOS 上使用。

HDevelop

如果您的解决方案是基于交互式快速原型开发环境 HDevelop 的,那么集成会十分简便,因为 HDevelop 可以将您的应用程序导出为 C++、C、C# 或 Visual Basic 源代码。此外,使用 HDevEngine 还可以将机器视觉程序代码轻松集成到应用程序中。

HDevEngine

“HDevelop Engine”是一个可以充当解释器的库,支持用户直接从 C++、C# 或 Visual Basic 应用程序中加载及执行 HDevelop 程序和过程。如此一来,用户便可以更改应用程序的视觉部分,而无需执行编译操作。

字典

为了更轻松地处理复杂数据,HALCON 提供了一种新的数据结构“字典”。它是一种关联数组,可以将不同类型的复杂数据(如图像、相应 ROI 和参数)打包到一个变量中。这样,在向过程传递多个参数的时候,使用字典就会使程序构架更加简单。

字典也可以通过文件读取和写入文件。工程师可以将所有需要的数据储存进同一个字典文件(比如相机标定设置,有缺陷的图像,程序参数等),再次读入这个文件就可以再现某个特定时间的应用程序的状态。分享这个文件,就可以轻松的和视觉应用专家对应用程序进行线下调试。

并行编程

HALCON 不仅支持多线程和并行编程,还提供自动并行化,可充分利用多核心或多处理器硬件的强大功能。进一步了解多核心性能

自动清理句柄

HALCON 会在不再需要句柄之后自动将其清理。这可以大大降低产生内存泄漏的风险,更容易编写出“安全代码”。

强大的调试功能

HALCON 为软件开发人员的调试工作提供了强有力的支持。使用 HALCON 的 Visual Studio、C++ 和 C#/.NET 扩展,开发人员可以直接在 Visual Studio 中检查 HALCON 变量(数组和图标)。

使用 HDevEngine 在 C# 或 C++ 应用程序中执行 HDevelop 过程时,可以直接在 HDevelop 中对应用程序的机器视觉部分进行调试,甚至可以远程调试,只需将 HDevelop 连接到 HDevEngine。

专有技术保护

HALCON 可以保护软件开发人员的专有技术:无论是在外部或本地过程中保存的代码,还是整个过程库或程序的代码,都可以设置密码保护。因此,可以在不泄露程序代码的情况下共享功能。