2. MERLIC开发环境与多相机接入
MERLIC 的多相机能力并不是在图像处理流程里“顺便”实现的,而是由 Creator 与 Runtime 两个角色分工协作完成的。理解这两个角色的部署边界,是后续做多相机同步与标定的前提。Creator 是工程设计与调试环境,负责图像源配置、工具链搭建、参数标定和流程验证;Runtime 是实际生产运行环境,负责加载已保存的 MERLIC 工程(.mrcp 文件)并持续执行。两者共享同一套图像采集与工具执行内核,但授权、界面和运行方式不同。
Creator 与 Runtime 的部署关系
典型部署有两种形态。第一种是单机形态:Creator 与 Runtime 装在同一台工控机上,调试完成后直接由 Runtime 加载工程运行,适合相机数量较少、算力充裕的场景。第二种是分离形态:工程师在开发机上用 Creator 设计工程,导出 .mrcp 后拷贝到产线工控机的 Runtime 上运行。分离形态下要注意两点:一是 Runtime 机器上必须安装与 Creator 相同或兼容的 MERLIC 版本,否则工程可能无法加载;二是工程中引用的相机名称、IP 或序列号必须在 Runtime 机器上可解析,否则会出现“图像源不可用”。
MERLIC 的授权(License)通常绑定在 Runtime 侧,Creator 用于设计时一般不需要生产授权,但 Runtime 必须持有有效授权才能持续运行。多相机场景下,授权与相机数量、是否使用同步功能相关,部署前应确认授权覆盖了实际接入的相机路数。
相机接口类型:GigE Vision 与 USB3 Vision
MERLIC 通过 GenICam 标准接入工业相机,最常用的两类接口是 GigE Vision 和 USB3 Vision。二者在带宽、线缆长度、供电和同步能力上有明显差异,直接影响多相机方案的选型。
| 对比项 | GigE Vision | USB3 Vision |
|---|---|---|
| 物理介质 | 千兆/万兆以太网 | USB 3.0 线缆 |
| 单口带宽 | 约 1 Gbps(千兆) | 约 5 Gbps |
| 线缆长度 | 可达 100 m | 通常 ≤ 3~5 m |
| 供电 | PoE 可选 | 总线供电 |
| 多相机扩展 | 交换机扩展,易组网 | 受主机 USB 控制器数量限制 |
| 硬件触发同步 | 支持,配合 PTP 更佳 | 支持,但多机同步布线较复杂 |
多相机场景下,GigE Vision 的优势在于可通过交换机灵活扩展,且支持 PTP(IEEE 1588)实现多相机时间戳对齐,适合 4 路以上的同步采集。USB3 Vision 单口带宽高、延迟低,适合 2~3 台相机、线缆距离短的紧凑设备,但多台相机同时接入时要注意主机 USB 控制器带宽分配,避免因共享控制器导致丢帧。
多相机设备发现与连接配置
在 Creator 中接入相机的入口是“图像源”(Image Source)配置。点击添加图像源后,MERLIC 会调用 GenICam 传输层扫描当前可发现的设备。GigE 相机通过广播发现,USB3 相机通过枚举 USB 设备发现。若相机未出现在列表中,常见原因有三类:网段不一致(GigE 相机与主机不在同一子网)、防火墙拦截了发现广播、USB 控制器驱动或供电不足。
以 GigE 相机为例,推荐按以下顺序配置:
- 确认主机网卡与相机处于同一网段。例如主机设为 192.168.1.10/24,相机出厂默认常为 192.168.1.100 或需通过厂商工具改为同网段。
- 在 Creator 图像源列表中选中目标相机,为其指定一个工程内唯一的名称,如 Cam_Top、Cam_Side,便于后续工具链引用。
- 设置采集参数:分辨率、像素格式(如 Mono8、BayerRG8)、曝光时间、增益。多相机应尽量统一像素格式与分辨率,减少后续标定与同步的复杂度。
- 若需硬件触发,在相机功能树中把 Trigger Mode 设为 On,Trigger Source 选择 Line0 或软件触发,并配置触发极性。
- 对多台 GigE 相机,建议启用 PTP 或使用同一触发源,使各相机曝光时刻对齐。
USB3 Vision 相机的配置流程类似,但需注意:同一 USB 控制器下的多台相机共享带宽,若总带宽超过控制器上限,会出现帧率下降或丢帧。此时应把相机分散到不同控制器,或降低分辨率/帧率。
连接配置的验证方法
配置完成后不要直接进入标定,先做一次采集验证。在 Creator 中逐台相机打开实时预览,观察三件事:图像是否稳定刷新、帧率是否达到设定值、时间戳是否连续。对多相机,可同时打开多路预览,检查是否存在某一路明显延迟或卡顿。若某路帧率不达标,优先排查网卡带宽、交换机负载或 USB 控制器分配。
验证通过后,保存工程为 .mrcp。此时工程中已记录了相机名称、采集参数和触发配置。把该工程拷贝到 Runtime 机器后,Runtime 会按名称重新绑定相机;若绑定失败,会在日志中提示图像源不可用,需要回到 Creator 检查相机名称与网络配置是否一致。
完成上述接入与验证后,多相机系统才具备进入同步与标定阶段的基础。下一阶段的核心是让各相机在同一时刻曝光、在同一坐标系下表达,这依赖本节配置好的触发方式与时间戳机制。