2. 图像采集与相机配置

在VisionPro项目中,图像采集是整个视觉流程的入口。如果采集环节不稳定,后续的定位、测量、检测算法再强也无法得到可靠结果。本节围绕四个核心问题展开:相机通过什么接口把图像送进计算机、什么时刻曝光取像、图像以什么格式进入VisionPro、以及如何用VisionPro的采集工具把相机配置成可复用的工程对象。

一、工业相机接口:决定带宽、距离与布线方式

工业相机接口主要分为模拟接口与数字接口两大类,当前工程中几乎全部使用数字接口。常见接口的定位如下:

  • GigE Vision:基于千兆以太网,单根网线可达100米,支持PoE供电,带宽约1Gbps。适合多相机、长距离、成本敏感的产线,是VisionPro中使用最广的接口之一。
  • USB3 Vision:基于USB 3.0,带宽约5Gbps,即插即用、成本低,但线缆一般不超过3~5米,且对主机控制器和供电质量较敏感。
  • Camera Link:并行差分传输,Base模式约2Gbps,Full模式可达6.8Gbps以上,延迟低、确定性好,但需要专用采集卡,线缆粗、距离短(约10米),多用于高速线阵或高帧率面阵。
  • CoaXPress(CXP):同轴线传输,单通道可达6.25Gbps甚至更高,可同时传图像、触发和供电,适合超高分辨率与高速应用,同样需要专用采集卡。

选择接口时先算带宽需求:带宽 ≈ 分辨率 × 位深 × 帧率。例如一台500万像素(2448×2048)、8位、30fps的相机,数据量约为 2448×2048×1×30 ≈ 150MB/s,即约1.2Gbps,已接近千兆网理论上限,实际应留出余量,此时选GigE需注意不要与其他大流量设备共享交换机,或改用USB3/CXP。若为彩色Bayer图像,位深按8位计算但需考虑Bayer转换开销;若为16位图像,带宽直接翻倍。

二、触发模式:决定“什么时候拍”

触发模式解决的是曝光时刻与运动物体、外部事件的同步问题。VisionPro中相机通常支持以下几种模式:

  • 自由运行(Free Run):相机按设定帧率连续曝光,不依赖外部信号。适合静态检测或对同步要求不高的场合。
  • 软触发(Software Trigger):由上位机软件发出触发命令,相机曝光一帧。适合节拍由程序控制的工位。
  • 硬触发(Hardware Trigger):由光电传感器、PLC或编码器输出电平/脉冲信号,经相机I/O或采集卡触发。这是产线同步的主力方式。
  • 编码器触发:以编码器脉冲作为触发源,按位移等间隔取像,常用于线阵相机或运动中的面阵拼接。

硬触发配置中有几个关键参数必须与现场匹配:触发沿(上升沿或下降沿)、触发延时(从收到信号到开始曝光的延迟,用于补偿传感器到相机视场的机械距离)、曝光时间(决定运动模糊与亮度)、触发滤波/去抖(抑制传感器抖动造成的误触发)。例如传送带速度0.5m/s,传感器与相机视场中心相距200mm,则物体从传感器到视场需0.4s,若希望物体到达视场中心时曝光,触发延时约设为400ms(实际需结合相机响应再微调)。曝光时间若设为500µs,物体在曝光期间移动0.25mm,若要求定位精度优于0.1mm,则需缩短曝光时间或使用频闪光源。

三、图像格式:决定后续算法能拿到什么数据

图像格式包含像素格式与数据组织方式。VisionPro中常见的像素格式有:

  • Mono8 / Mono10 / Mono12:单通道灰度,位深越高动态范围越大,但带宽和内存占用也越高。多数定位、测量算法在Mono8上即可工作。
  • BayerRG8 / BayerGB8等:彩色相机原始输出,每个像素只有一个颜色分量,需经去马赛克(Demosaic)转换为RGB。VisionPro的CogImageConvert工具可完成该转换。
  • RGB24 / BGR24:三通道彩色,便于颜色检测,但数据量为Mono8的三倍。
  • YUV / HSV:部分工具链使用,HSV对光照变化更鲁棒,适合颜色分割。

选择格式的原则是:算法需要什么就给什么,不多给。若只做灰度定位,用Mono8即可,避免彩色转换带来的计算与带宽浪费;若需颜色区分,则用Bayer或RGB,并在采集后统一转换,保证同一项目内格式一致。此外要注意像素位深与相机增益、曝光的关系:高增益会放大噪声,12位图像在弱光下比8位更有优势,但若光源充足,8位已足够。

四、VisionPro采集工具的使用

VisionPro中采集相关的主要工具有:CogAcqFifoTool(采集FIFO工具,负责取像并缓存)、CogAcqImage(单帧采集)、以及相机厂商提供的GigE/USB3驱动接口。典型使用流程如下:

  1. 在VisionPro中新建CogAcqFifoTool,选择相机或图像源(如相机、视频文件、图像序列)。
  2. 设置触发模式、曝光、增益、像素格式等参数,并确认相机连接状态。
  3. 运行一次采集,检查图像是否正常、亮度是否合适、有无丢帧。
  4. 将采集工具的输出连接到CogToolBlock或CogBlobTool等处理工具,形成完整作业。
  5. 保存作业(.vpp),使相机配置与算法一起复用。

实际调试中,建议先用连续采集观察帧率与丢帧情况,再切换到硬触发验证同步;用图像统计(如CogImageStatistics)检查灰度均值与饱和像素比例,判断曝光是否合理。若出现丢帧,优先检查网卡巨帧(Jumbo Frame)设置、交换机带宽和相机包大小(Packet Size);若触发不响应,检查触发沿、电平标准(如24V与5V)和滤波设置。

工业相机采集链路与VisionPro配置要点 物理接口层 GigE Vision:100m / 1Gbps / PoE USB3 Vision:3~5m / 5Gbps Camera Link:10m / 2~6.8Gbps CoaXPress:6.25Gbps/通道 带宽 ≈ 分辨率 × 位深 × 帧率 例:2448×2048×8bit×30fps ≈ 1.2Gbps 触发与曝光控制 自由运行 / 软触发 / 硬触发 / 编码器 触发沿:上升沿 / 下降沿 触发延时:补偿机械距离 曝光时间:决定运动模糊 滤波/去抖:抑制误触发 示例:0.5m/s,200mm → 延时≈400ms 图像格式 Mono8 / Mono10 / Mono12 BayerRG8 / BayerGB8 RGB24 / BGR24 YUV / HSV 原则:算法需要什么就给什么 灰度定位用Mono8,颜色用Bayer/RGB VisionPro 采集工具链与调试闭环 CogAcqFifoTool 取像与缓存 参数配置 触发/曝光/格式 图像检查 亮度/丢帧/饱和 连接处理工具 ToolBlock/Blob 保存 .vpp 调试反馈:亮度/丢帧/触发异常 → 回到参数配置 采集稳定是视觉项目的第一道门槛:接口带宽够、触发同步准、格式匹配算法、工具链闭环可复用

五、配置检查清单与常见问题

为避免现场反复返工,建议在项目初期按以下清单逐项确认:

检查项确认内容常见问题
接口带宽分辨率×位深×帧率是否低于接口上限的70%GigE多相机共享交换机导致丢帧
触发模式触发源、触发沿、延时、滤波是否与现场一致传感器抖动造成重复触发
曝光时间运动模糊是否满足精度要求曝光过长导致边缘模糊
像素格式是否与算法需求匹配彩色相机未转换直接做灰度处理
采集工具CogAcqFifoTool是否正常输出、是否保存到作业未保存导致重启后配置丢失

最后强调一点:采集配置不是一次性的,它需要与光源、镜头、机械结构一起联调。建议在VisionPro中把采集工具与处理工具放在同一个作业里,先保证“每次都能拿到同一质量的图像”,再进入算法调参阶段。这样后续的定位、测量和检测才有稳定的输入基础。