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,并准备了一张示例图像 sample_part.png,分辨率为 1280×960。
- 新建项目:启动 MERLIC Creator,选择“新建项目”,项目名称填写
FirstAcquisition,保存为FirstAcquisition.merlic。 - 添加图像源:从工具库的“图像源”类别中拖拽
Load Image到流程编辑区。在右侧参数面板中,点击“文件路径”后的浏览按钮,选择sample_part.png。此时工具输出端口应显示“图像”数据类型。 - 添加显示工具:从工具库拖拽
Display Image到流程编辑区,放在Load Image右侧。将Load Image的图像输出端口连接到Display Image的图像输入端口。连接成功后,连线会显示为绿色实线。 - 运行流程:点击工具栏上的“运行”按钮(或按 F5)。如果配置正确,图像显示区会立即显示
sample_part.png的内容。此时,你已打通了“图像输入—显示”的最小链路。 - 观察结果:在右侧结果面板中,
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 Creator 进行调试;在生产阶段,使用 MERLIC RTE 加载同一项目文件,选择指定配方,即可稳定运行。RTE 不提供编辑功能,只负责执行,因此更适合部署在产线工控机上。
一个值得养成的习惯是:在项目初期就规划好工具命名和配方命名。例如,将 Load Image 重命名为 Load_PartImage,将 Color To Gray 重命名为 Gray_PartImage。这样在流程变复杂后,仍然能快速定位每个节点的作用。命名规范虽然不直接影响运行,但会显著影响后续维护和排障效率。
至此,你已经完成了第一个可运行的图像采集与显示项目,并理解了 Creator 界面、工具库、流程与配方的基本关系。下一步,可以在这个最小项目上逐步加入阈值分割、Blob 分析或模板匹配,让流程从“显示图像”走向“输出判定结果”。