简介
假设你想要组装一辆模型车,而你只对汽车本身感兴趣,不想关心零部件的切割线或冲压金属板等细节,也不想为组装所需的各种配套工具而烦恼。如果有一套已经准备好的模型车部件和组装所需要的工具,那将会容易得多。在软件领域,这些就相当于软件开发工具包(SDK)。
SDK定义
SDK提供了一组用于在特定平台上开发应用程序的工具。 通常,这些是应用程序硬件通信的软件,它们在PC或嵌入式平台上运行。 假设你需要控制和触发相机以进行图像采集,有了SDK,你不需要熟悉相机型号,只需要使用某种编程语言就可以做到。同时,有了SDK,还可以具备访问驱动程序和应用程序编程接口权限,有了这些权限,就可以用来管理任务。更为方便的是,它还包含有示例代码,示例代码将帮助您了解如何使用驱动程序和API以及如何配置新的硬件。
SDK组成
通常情况下,适用于机器视觉的SDK应包括:
- 普通相机接口的驱动程序,比如GigE Vision或USB3 Vision
- 应用程序编程接口(API),根据机器视觉的特定需求量身定制
- 常用编程语言中的示例代码(比如C++,C,.NET,python)
- 用于访问机器视觉相机参数的工具
- 配置工具,直接评估参数更改的影响以便优化图像质量
- 文档,说明API,工具等使用方法。
SDK的应用
SDK一般是免费的,由工业相机制造商/软件制造商提供(提供额外的特定图像处理程序)。 在将相机集成到工业应用中之前, 您通常需要评估所选摄像机并设计原型应用程序。 为此,您通常使用查看器工具和辅助配置或优化工具。 这些工具提供的功能很多,易用性很好,可以更快捷的进行评估和优化,让评估过程减短,项目成本降低。
例如,如果查看器工具为您提供完整的文档和编程相机功能的源代码, 您就不需要查看手册或SDK示例。 优化工具主要用于优化可用带宽,将使您能够轻松设计您的应用程序。 在开发软件应用程序时,API的质量及其可移植性,将直接影响使用成本。 你写的代码越少, 开发得越快,项目成本越低。 针对不同应用程序用例和代码段详细说明的SDK示例可以让程序开发更精简,效率更高。
除了所有这些好处之外,一个好的SDK应该能让你使用现有代码直接适配,不同的相机接口(Gige,USB3.0,Camera Link)和操作系统(Windows,macOS,Linux), 使你的项目更具兼容性。
一旦您的应用程序开发完成,接下来主要是维护工作。 一套经过行业验证且成熟的机器视觉SDK至关重,因为它可以降低你的维护成本。
网友评论