2. MERLIC开发环境与项目结构
MERLIC 的工程化使用与“打开软件点几下”有本质区别。它的核心工作单元是项目(Project),一个项目把图像源、工具配方、参数、结果输出和界面配置打包在一起,最终可导出为可独立运行的 MERLIC 应用。理解 Creator 的界面布局、工具库组织方式以及项目文件的物理结构,是后续所有开发与部署工作的前提。
MERLIC Creator 界面布局
启动 MERLIC Creator 后,界面大致分为五个功能区,理解它们的分工比记住按钮位置更重要:
- 菜单与工具栏(顶部):负责项目的新建、打开、保存、另存为,以及“导出为 MERLIC 应用”“切换运行模式”等全局操作。工具栏右侧通常显示当前登录的授权状态与 MERLIC 版本。
- 工具库 Tool Library(左侧):按类别组织的工具集合,是“选什么工具”的地方。工具按图像采集、图像处理、检测、测量、定位、结果输出等类别分组,支持搜索框按名称过滤。
- 配方/流程编辑区 Recipe Editor(中部):当前项目的工具链画布。工具以节点形式排列,节点之间的连线表示图像或数据的传递方向,是“工具怎么连”的地方。
- 参数与结果面板(右侧):选中某个工具节点后,这里显示该工具的输入参数、ROI 设置、阈值、结果输出项。参数修改后立即影响该节点的执行结果。
- 图像显示与运行控制区(底部或独立窗口):显示当前图像源的单帧或连续图像,并提供“单次执行 / 连续执行”按钮,用于观察工具链的实际输出。
这五个区域构成了一个稳定的“选择—连接—调参—观察”闭环。初学者常见的低效操作是跳过工具库直接乱拖节点,或在参数面板里反复试错却不看图像显示区,导致无法判断参数变化到底影响了哪一步。
工具库的组织逻辑
MERLIC 工具库不是按“算法名称”堆砌,而是按任务语义分组。典型分组包括:
- 图像源类:如从相机采集、从文件夹读取图像序列、加载单张图像。
- 定位与对齐类:如基于形状匹配、基于灰度匹配的定位工具,用于在图像中找到基准位置。
- 检测与测量类:如斑点分析、边缘测量、卡尺、圆拟合等。
- 识别与分类类:如条码/二维码读取、OCR、分类器调用。
- 结果处理与输出类:如结果合并、条件判断、结果写入文件或发送到 PLC/接口。
工具库中的每个工具都带有输入/输出端口。输入端通常接收图像或上游结果,输出端产生图像、区域、数值或判定结果。连线时必须保证数据类型匹配,例如把“数值结果”连到“图像输入”端口会被拒绝。这是 MERLIC 保证流程可执行性的重要机制。
项目文件管理
MERLIC 项目在磁盘上通常以一个项目文件夹的形式存在,而不是单个文件。一个典型项目目录结构如下(示例,实际名称以软件版本为准):
MyProject/
├── MyProject.mvproject # 项目主文件,记录工具链与参数
├── images/ # 项目引用的图像或图像序列
│ ├── part_001.png
│ └── part_002.png
├── models/ # 形状匹配、分类等使用的模型文件
│ └── shape_model.shm
├── config/ # 相机、接口、通信等配置
│ └── camera_config.json
└── results/ # 运行时可写入的结果文件(可选)
这种结构的实际意义在于:项目可移植性依赖于相对路径。如果图像源使用绝对路径(如 D:\test\part_001.png),把项目复制到另一台电脑后很可能找不到图像。正确做法是把图像放入项目内的 images/ 目录,并在图像源工具中使用相对路径引用。模型文件和配置文件同理。
images/、models/、config/ 三个子目录,避免把外部任意路径直接写进工具参数。这样导出 MERLIC 应用时,依赖关系清晰,迁移成本最低。图像源配置
图像源是工具链的起点,配置方式直接决定后续工具能否稳定运行。常见图像源有三类:
- 文件夹图像序列:指定一个目录,MERLIC 按文件名顺序读取。适合离线调试和算法验证。配置时需确认排序规则(通常按名称升序),并检查图像格式是否被支持(如 PNG、BMP、JPG、TIFF)。
- 单张图像:用于快速验证某个工具的参数效果,不参与批量运行。
- 工业相机:通过 GigE Vision、USB3 Vision 等接口连接。需要选择相机、设置曝光时间、增益、触发模式(自由运行或硬件触发)。触发模式下,图像采集由外部信号驱动,适合产线节拍控制。
配置图像源后,应先在图像显示区确认:图像是否正常显示、分辨率是否符合预期、灰度或彩色通道是否正确。如果图像全黑或全白,优先检查曝光时间和光源,而不是急着调后续工具。
基本操作流程
一个最小可运行的项目通常按以下顺序搭建:
- 新建项目,命名并选择保存位置。
- 从工具库拖入图像源工具,配置图像路径或相机。
- 拖入第一个处理工具(如定位或检测),将其图像输入端口与图像源输出端口连接。
- 在参数面板中设置 ROI、阈值等关键参数,点击“单次执行”观察结果。
- 根据图像显示区的结果叠加(如找到的边缘、匹配到的轮廓、判定框)判断参数是否合理,必要时调整。
- 继续添加后续工具,逐步串联,每加一个工具就执行一次,避免一次性连完再排查。
- 确认整条工具链稳定后,保存项目,并可通过“导出为 MERLIC 应用”生成可交付的运行包。
下面这张图概括了从图像源到结果输出的典型数据流与项目文件之间的对应关系,帮助建立“界面操作—磁盘文件—运行结果”三者的映射。
参数配置与结果观察的配合
MERLIC 的参数面板与图像显示区是联动的。以“边缘卡尺”工具为例,典型参数包括卡尺数量、卡尺长度、搜索方向、边缘阈值和边缘极性。调整这些参数后,图像显示区会叠加显示卡尺位置和检测到的边缘点。判断参数是否合理的依据不是“看起来差不多”,而是:边缘点是否稳定落在真实边缘上、多次执行时边缘点位置波动是否在允许范围内、是否出现漏检或误检。
如果边缘点跳动明显,通常需要检查:ROI 是否覆盖了足够清晰的边缘区域、阈值是否过低导致噪声被当作边缘、光源是否稳定。这些判断都依赖图像显示区的实时反馈,而不是靠猜。
项目文件管理与版本意识
MERLIC 项目文件是二进制或结构化文本格式,直接手工编辑风险较高。实际工程中更推荐的做法是:
- 每次重大参数调整前,用“另存为”保留一个可回退的版本,例如
MyProject_v1.mvproject、MyProject_v2.mvproject。 - 把项目文件夹整体纳入版本管理或备份,而不是只备份单个主文件。
- 图像、模型、配置文件与主文件保持同步更新,避免出现“主文件引用了旧模型”的情况。
- 导出 MERLIC 应用前,确认所有依赖都在项目文件夹内,并在目标机器上做一次完整运行验证。
掌握界面布局、工具库组织、项目文件结构和图像源配置这四件事之后,后续的工具参数调试、结果判定和部署导出才有稳定的基础。MERLIC 的学习曲线并不陡,真正容易出问题的地方往往不是算法本身,而是项目结构和路径管理这些“看起来简单”的环节。