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驱动接口。典型使用流程如下:
- 在VisionPro中新建CogAcqFifoTool,选择相机或图像源(如相机、视频文件、图像序列)。
- 设置触发模式、曝光、增益、像素格式等参数,并确认相机连接状态。
- 运行一次采集,检查图像是否正常、亮度是否合适、有无丢帧。
- 将采集工具的输出连接到CogToolBlock或CogBlobTool等处理工具,形成完整作业。
- 保存作业(.vpp),使相机配置与算法一起复用。
实际调试中,建议先用连续采集观察帧率与丢帧情况,再切换到硬触发验证同步;用图像统计(如CogImageStatistics)检查灰度均值与饱和像素比例,判断曝光是否合理。若出现丢帧,优先检查网卡巨帧(Jumbo Frame)设置、交换机带宽和相机包大小(Packet Size);若触发不响应,检查触发沿、电平标准(如24V与5V)和滤波设置。
五、配置检查清单与常见问题
为避免现场反复返工,建议在项目初期按以下清单逐项确认:
| 检查项 | 确认内容 | 常见问题 |
|---|---|---|
| 接口带宽 | 分辨率×位深×帧率是否低于接口上限的70% | GigE多相机共享交换机导致丢帧 |
| 触发模式 | 触发源、触发沿、延时、滤波是否与现场一致 | 传感器抖动造成重复触发 |
| 曝光时间 | 运动模糊是否满足精度要求 | 曝光过长导致边缘模糊 |
| 像素格式 | 是否与算法需求匹配 | 彩色相机未转换直接做灰度处理 |
| 采集工具 | CogAcqFifoTool是否正常输出、是否保存到作业 | 未保存导致重启后配置丢失 |
最后强调一点:采集配置不是一次性的,它需要与光源、镜头、机械结构一起联调。建议在VisionPro中把采集工具与处理工具放在同一个作业里,先保证“每次都能拿到同一质量的图像”,再进入算法调参阶段。这样后续的定位、测量和检测才有稳定的输入基础。