2. MERLIC软件环境与项目结构

MERLIC 是 MVTec 面向工业机器视觉的“无代码/低代码”集成软件,它的核心价值在于把图像采集、图像处理、结果判定与通信输出整合到同一个运行环境中。要真正开始使用它,第一步不是急着写算法,而是理解它的软件环境与项目结构:MERLIC Creator 负责搭建与调试,MERLIC RTE(Runtime Environment)负责稳定运行,而项目文件则把工具、配方、图像源和通信配置组织在一起。本节将围绕 Creator 界面、工具库、配方(Recipe)与流程(Flow)四个概念,带你建立第一个可运行的图像采集与显示项目。

一、MERLIC Creator 界面:四个区域各司其职

打开 MERLIC Creator 后,界面大致分为四个功能区。左侧是工具库(Tool Library),按类别列出所有可用工具,例如图像源、预处理、分割、测量、识别、结果处理等。中间是流程编辑区(Flow Editor),你在这里把工具拖入并连线,形成一条从图像输入到结果输出的处理链。右侧是工具参数与结果面板,选中某个工具后,可以在这里调整参数、查看中间图像和输出数值。底部或侧边是图像显示与消息区,用于观察当前图像、叠加结果和运行日志。

理解这个布局的关键是:MERLIC 不是“写代码”,而是“连工具”。每个工具是一个封装好的视觉算子,有明确的输入、输出和参数。流程编辑区中的连线代表数据流,而不是执行顺序的随意排列。因此,建立项目时,先想清楚“图像从哪里来、经过哪些处理、结果送到哪里”,再动手拖拽工具。

二、工具库:从图像源到结果输出

工具库中的工具可以按功能分为几类。最基础的是图像源工具,例如 Acquire Image(从相机采集)和 Load Image(从文件加载)。在调试阶段,通常先用 Load Image 加载一张示例图像,验证流程逻辑,再切换到相机采集。其次是预处理工具,如灰度化、滤波、ROI 裁剪;然后是分割与检测工具,如阈值分割、Blob 分析、模板匹配;最后是结果处理与通信工具,如结果合并、条件判断、TCP/IP 或 PLC 输出。

对于第一个可运行项目,建议只使用三个工具:Load Image、Color To Gray(或直接显示彩色图)、Display Image。这样做的目的是先打通“图像输入—显示”这条最小链路,确认软件环境、图像路径和显示窗口都正常工作,再逐步加入处理逻辑。

三、配方与流程:项目结构的两个核心概念

流程(Flow)是 MERLIC 项目的执行主体,它由若干工具节点和连接线组成,描述图像数据如何从输入流向输出。一个流程可以包含多个分支,例如同时进行缺陷检测和尺寸测量,但每个工具的输出必须被正确连接或标记为结果。

配方(Recipe)则是一组参数的集合。同一个流程可以对应多个配方,每个配方保存不同的参数值,例如不同的曝光时间、不同的阈值、不同的 ROI 位置。这样,当产品型号切换时,不需要修改流程结构,只需切换配方即可。配方与流程的关系可以理解为:流程定义“做什么”,配方定义“用哪些参数做”。

在项目文件中,流程和配方一起保存为 .merlic 项目文件。运行时,MERLIC RTE 加载项目,选择当前配方,然后执行流程。因此,一个完整的 MERLIC 项目至少包含:图像源配置、工具流程、配方参数集、结果输出配置。

MERLIC Creator 项目结构与最小图像采集显示流程 工具库 Load Image Acquire Image Color To Gray Blob Analysis Display Image Result Output 拖拽工具到流程区 按类别筛选 流程编辑区(Flow) Load Image 图像源 图像 Color To Gray 预处理 灰度图 Display Image 显示输出 配方(Recipe)参数集 配方 A:曝光 5ms 阈值 128 配方 B:曝光 10ms 阈值 150 配方 C:曝光 3ms 阈值 100 参数注入 参数与结果面板 工具参数 曝光 / 阈值 / ROI 中间图像 灰度图 / 分割图 输出结果 数值 / 判定 / 坐标 运行日志 消息 / 错误 最小可运行链路:Load Image → Color To Gray → Display Image;配方切换只改变参数,不改变流程结构

四、建立第一个可运行项目:图像采集与显示

下面以“从文件加载图像并显示”为例,说明实际操作过程。假设你已安装 MERLIC Creator,并准备了一张示例图像 sample_part.png,分辨率为 1280×960。

  1. 新建项目:启动 MERLIC Creator,选择“新建项目”,项目名称填写 FirstAcquisition,保存为 FirstAcquisition.merlic。
  2. 添加图像源:从工具库的“图像源”类别中拖拽 Load Image 到流程编辑区。在右侧参数面板中,点击“文件路径”后的浏览按钮,选择 sample_part.png。此时工具输出端口应显示“图像”数据类型。
  3. 添加显示工具:从工具库拖拽 Display Image 到流程编辑区,放在 Load Image 右侧。将 Load Image 的图像输出端口连接到 Display Image 的图像输入端口。连接成功后,连线会显示为绿色实线。
  4. 运行流程:点击工具栏上的“运行”按钮(或按 F5)。如果配置正确,图像显示区会立即显示 sample_part.png 的内容。此时,你已打通了“图像输入—显示”的最小链路。
  5. 观察结果:在右侧结果面板中,Load Image 工具会输出图像宽度、高度、像素格式等元数据。例如,宽度 1280、高度 960、格式 RGB8。这些数值可用于后续判断图像是否被正确加载。

如果图像没有显示,按以下顺序排查:检查文件路径是否存在中文或空格;确认图像格式是否为 MERLIC 支持的格式(如 PNG、BMP、JPEG、TIFF);查看底部消息区是否有“文件未找到”或“解码失败”的错误提示。这些排查动作本身就是理解 MERLIC 运行机制的一部分。

五、从显示到处理:加入灰度化与配方

当图像显示正常后,可以继续加入 Color To Gray 工具,将彩色图像转换为灰度图。操作方式与前面类似:拖拽工具、连接图像端口、运行流程。此时,Display Image 可以同时显示原始彩色图和灰度图,便于对比。

接下来引入配方概念。假设你有一批产品,需要在不同曝光条件下采集图像。你可以创建三个配方:Recipe_A(曝光 5ms,阈值 128)、Recipe_B(曝光 10ms,阈值 150)、Recipe_C(曝光 3ms,阈值 100)。在 MERLIC Creator 中,配方参数与工具参数绑定:选中某个工具参数,点击“添加到配方”,即可将该参数纳入当前配方管理。切换配方时,流程结构不变,只有参数值发生变化。

配方机制是 MERLIC 面向多品种生产的关键设计。它把“流程逻辑”和“产品参数”分离,使得同一套视觉程序可以快速适配不同型号,而不需要复制多个项目文件。

六、项目文件与运行环境

MERLIC 项目最终保存为 .merlic 文件,其中包含流程定义、配方参数、图像源配置和通信设置。在开发阶段,使用 MERLIC Creator 进行调试;在生产阶段,使用 MERLIC RTE 加载同一项目文件,选择指定配方,即可稳定运行。RTE 不提供编辑功能,只负责执行,因此更适合部署在产线工控机上。

一个值得养成的习惯是:在项目初期就规划好工具命名和配方命名。例如,将 Load Image 重命名为 Load_PartImage,将 Color To Gray 重命名为 Gray_PartImage。这样在流程变复杂后,仍然能快速定位每个节点的作用。命名规范虽然不直接影响运行,但会显著影响后续维护和排障效率。

至此,你已经完成了第一个可运行的图像采集与显示项目,并理解了 Creator 界面、工具库、流程与配方的基本关系。下一步,可以在这个最小项目上逐步加入阈值分割、Blob 分析或模板匹配,让流程从“显示图像”走向“输出判定结果”。